cmd批处理作业创建目录不起作用

时间:2014-10-13 08:37:13

标签: batch-file cmd

我使用cmd创建一些文件夹,但不能正常工作,我不确定是否有问题。

这是代码:

rem @echo off
@cls

Set scriptsFolder=D:\Test\Scripts
Set SourceCodeFolder=D:\Test\SourceCode
Set DataFolder=D:\Test\Data

if not exist %scriptsFolder%
(
    mkdir %scriptsFolder%
)

if not exist %SourceCodeFolder%
(   
    mkdir %SourceCodeFolder%
)

if not exist %DataFolder%
(
    mkdir %DataFolder%
)


the error is syntax error after  Set DataFolder=D:\Test\Data:   

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

在多行If语句中,左括号必须与If所在的行保持一致。

此语法无效:

if not exist %scriptsFolder%
(
    mkdir %scriptsFolder%
)

这是正确的:

if not exist %scriptsFolder% (
    mkdir %scriptsFolder%
)

另请注意,如果您只有一条指令,则可以将所有内容放在一行:

if not exist %scriptsFolder% mkdir %scriptsFolder%

作为重构的最后一步请注意,您也可以随时致电mkdir并将stderr重定向至nul,如果目录存在,则只需简单失败,如果它没有:

它就会创建它
mkdir %scriptsFolder% 2> nul