使用选项创建批处理文件

时间:2013-11-29 15:17:14

标签: batch-file

我查看了有关此主题的当前帖子,并尝试了创建批处理文件的各种建议。这是我到目前为止所提出的。但是,批处理文件似乎只想运行Copy to Laptop,无论选择何种选项。请帮忙!

@ECHO OFF

CLS

ECHO 1.Copy to Desktop?

ECHO 2.Copy FROM Desktop to Flash Drive?

ECHO 3.Copy to Laptop?

ECHO 4.Copy FROM Laptop to Flash Drive?

ECHO.


CHOICE /C 1234 /M "Enter your Choice:"


IF ERRORLEVEL 4 GOTO Copy FROM Laptop to Flash Drive?

IF ERRORLEVEL 3 GOTO Copy to Laptop?

IF ERRORLEVEL 2 GOTO Copy FROM Desktop to Flash Drive?

IF ERRORLEVEL 1 GOTO Copy to Desktop?



:Copy to Laptop?

ECHO Copy to Laptop 

xcopy H:\ "C:\Users\8888\Documents\My Games" /e /y

GOTO End


:Copy FROM Laptop to Flash Drive?

ECHO Copy FROM Laptop to Flash Drive 

xcopy "C:\Users\8888\Documents\My Games" H:\ /e /y

GOTO End


:Copy to Desktop?

ECHO Copy to Desktop 

xcopy H:\ "C:\Users\****\Documents\My Games" /e /y

GOTO End


:Copy FROM Desktop to Flash Drive?

ECHO Copy FROM Desktop to Flash Drive 

xcopy "C:\Users\****\Documents\My Games" H:\ /e /y

GOTO End

:End

2 个答案:

答案 0 :(得分:1)

你遇到的问题是所有标签都只使用第一个单词,在所有情况下都是COPY(第一个空格似乎是停止查看标签的位置)。

这对我来说非常好。请注意,我已经通过删除空格和最后的:Label将所有?名称更改为仍然有意义的名称。 (我还删除了xcopy行,因为他们没有必要演示解决方案。)

@ECHO OFF
CLS
ECHO 1.Copy to Desktop?

ECHO 2.Copy FROM Desktop to Flash Drive?

ECHO 3.Copy to Laptop?

ECHO 4.Copy FROM Laptop to Flash Drive?

ECHO.

CHOICE /C 1234 /M "Enter your Choice:"

IF ERRORLEVEL 4 GOTO LapTopToFlashDrive
IF ERRORLEVEL 3 GOTO CopyToLaptop
IF ERRORLEVEL 2 GOTO DesktopToFlashDrive
IF ERRORLEVEL 1 GOTO CopyToDesktop

:CopyToLaptop

ECHO Copy to Laptop 
GOTO End


:LaptopToFlashDrive

ECHO Copy FROM Laptop to Flash Drive 
GOTO End


:CopyToDesktop
ECHO Copy to Desktop 
GOTO End

:DesktopToFlashDrive
ECHO Copy FROM Desktop to Flash Drive 
GOTO End

:End
Pause

答案 1 :(得分:1)

GOTO语句中不允许使用空格。 所以你所有的GOTO都转到第一个:Copy。其余的“到桌面?”等等被忽略了。

相关问题