我正在创建批处理文件以自动执行某些备份。我已经退出DOS /批量游戏好几年了,我很生疏。我确定我的问题很小,但我似乎无法通过我的if语句做任何事情。以下是违规行:
IF EXIST %dirname% (echo Directory already exists) ELSE (mkdir %dirname%)
::dirname in this particular case is: Backup 2013-06-06
::The directory does exist, so the echo statement should execute.
即使符合条件,我的回声也不会触发。键入命令提示符时此行可正常工作,但不能从.bat中输入。谁知道问题是什么?
谢谢!
答案 0 :(得分:2)
您需要“引用名称”,因为它包含空格
IF EXIST "%dirname%" (echo Directory already exists) ELSE (mkdir "%dirname%")
虽然
mkdir "%dirname%" 2>nul
也可以 - 它只是抑制STDERR
(设备2
)