我使用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:
有人可以帮我吗?
答案 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