批处理 - IF EXIST语句未执行

时间:2013-06-06 17:41:06

标签: batch-file

我正在创建批处理文件以自动执行某些备份。我已经退出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中输入。谁知道问题是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要“引用名称”,因为它包含空格

IF EXIST "%dirname%" (echo Directory already exists) ELSE (mkdir "%dirname%")

虽然

mkdir "%dirname%" 2>nul

也可以 - 它只是抑制STDERR(设备2

上的错误消息输出