2014-12-07 34 views
0

我正在创建一个批处理脚本,为此我有一个脚本给了我一个令人沮丧的错误。该批处理文件正在执行的位置是 C:\ Users #### \ Desktop \ Sp2 \ Sp2.bat。我希望文件提示用户是否想要创建批处理文件。我明白了。我使用的代码如何在批处理文件的位置创建一个文件夹

echo Would you like to create a directory to output the files to? 
set /p mkdir=[Y/N] 
if %mkdir%==Y (
    goto :mkdir 
) ELSE (
    goto :numset 
) 

这部分工作正常。现在,这里是哪里出了问题就出现了:“此命令的语法不正确”

:mkdir 
echo Enter a name for your folder. 
set /p foldername= 
MD %~d0\%foldername% 
goto :numset 

我这个一直给我的错误谁能给我解决这个问题呢?

回答

0

%~d0展开为批处理文件的驱动器。用户无权在驱动器的根目录中创建文件夹。所以它永远不会工作。

加上路径分隔符是\不是开关字符/

1

%~d0只给你驱动器。要获得驱动器和路径,使用%~dp0

MD %~dp0%foldername% 

%~?0的完整列表是非常隐蔽。参见:for /?

相关问题