批处理文件,我相信if语句不起作用。转到错误

时间:2013-10-10 21:40:08

标签: batch-file if-statement cmd goto

这是我编写的一个简单的批处理文件。获取用户输入以创建具有不同扩展名的每个批处理文件的副本。它有效,但我的帮助标志有问题

如果用户没有输入任何内容,我想显示一条消息。但我收到一个错误,说goto方法存在问题。

@ECHO off
REM Backup.bat, 10/10/2013, Josh Barber

cls
echo Choose an extension
Set /P var= Enter a file extension:

if %var% == "" goto help
copy H:\Lab5\*.bat H:\Lab5\*.%var% 

goto end

:help 

echo Please choose a file extension

:end 

echo Process complete

pause

2 个答案:

答案 0 :(得分:3)

@ECHO off
REM Backup.bat, 10/10/2013, Josh Barber

cls
echo Choose an extension
Set /P var= Enter a file extension:

if "%var%" == "" goto help
copy H:\Lab5\*.bat H:\Lab5\*.%var% 

goto end

:help 

echo Please choose a file extension

goto :end
:end 

echo Process complete

pause

使用引号或if defined var。当%var%没有值时,您执行的if == ""语法错误。

答案 1 :(得分:1)

set /p var=" enter file extension: "
if (%var%) == () goto help
set /p name=" enter file extension: "
:help
echo "End of Program"