2014-10-13 5 views
1

Я использую 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: 

Может кто-нибудь помочь мне с этим?

+0

«* но не работает *» не является допустимым сообщением об ошибке Windows –

ответ

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 
+0

Большое спасибо, он работает ....... –

Смежные вопросы