批处理复制文件夹下的文件及子目录命令,路径为相对路径

文件夹“Call of Duty Modern.Warfare 3”(有空格)下有“单机”和“联机”两文件夹(有子目录),批处理放在文件夹“Call of Duty Modern.Warfare 3”,求把文件夹“单机”或“联机”的所有文件及其子目录复制到文件夹“Call of Duty Modern.Warfare 3”,必须是相对路径,可移动。
绝对路径的bat大概是这样:

xcopy "D:\Call of Duty Modern.Warfare 3\单机" "D:\Call of Duty Modern.Warfare 3" /y /e /s
start "D:\Call of Duty Modern.Warfare 3\开始游戏.exe" /s

求帮忙写一个!
搞清楚了,是编码问题,应该选择编码ANSI,文件内容如下:

cls
@ECHO OFF
CLS
color 0a
GOTO MENU
:MENU
ECHO.
ECHO. =-=-=-=-=-=选择启动模式=-=-=-=-=-=
ECHO. 1、单机模式
ECHO. 2、联机模式
ECHO. 3、继续游戏
ECHO. =-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=
ECHO.
echo. 请选择启动模式:
set /p ID=
if "%id%"=="1" goto cmd1
if "%id%"=="2" goto cmd2
if "%id%"=="3" goto cmd3
PAUSE
:cmd1
xcopy ".\单机" ".\" /y /e /s
start 开始游戏.exe /s
exit
:cmd2
xcopy ".\联机" ".\" /y /e /s
start 开始游戏.exe /s
exit
:cmd3
start 开始游戏.exe /s
exit

代码效率低下,精简下:
@ECHO OFF&CLS&color 0a
ECHO=
ECHO= =-=-=-=-=-=选择启动模式=-=-=-=-=-=
ECHO= 1、单机模式
ECHO= 2、联机模式
ECHO= 3、继续游戏
ECHO= =-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=
ECHO=
ECHO= 请选择启动模式:
set/p ID=
if "%id%"=="1" xcopy ".\单机" ".\" /y /e /s
if "%id%"=="2" xcopy ".\联机" ".\" /y /e /s
if "%id%"=="3" echo=
pause
start 开始游戏.exe /s

其中echo, 改为echo= 因为其效率更高
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-10
start 最好是 这样使用 start "标题" 运行的程序 .... 没有标题的 就 start "" 运行的程序
第2个回答  2012-09-09
xcopy 联机 . /y /e /s
start 开始游戏.exe /s
第3个回答  2012-09-10
自己解决了哈,我会说你要把分数都给我吗?哈哈
相似回答