Batch file 使用bat命令创建文件夹
我有一个bat文件来创建文件夹Batch file 使用bat命令创建文件夹,batch-file,Batch File,我有一个bat文件来创建文件夹 :X3Main IF EXIST "%1%\JBoss" goto Test IF EXIST "%1%\DB" goto DB goto end :Test mkdir "%DESTINATION%\IX3\COSMIC\JBoss" goto end :DB mkdir "%DESTINATION%\IX3\COSMIC\DB" goto end 这里成功创建了第一个文件夹(如果存在“%1%\JBoss”转到测试),但第二个函数不起作用。如果我删除了第一
:X3Main
IF EXIST "%1%\JBoss" goto Test
IF EXIST "%1%\DB" goto DB
goto end
:Test
mkdir "%DESTINATION%\IX3\COSMIC\JBoss"
goto end
:DB
mkdir "%DESTINATION%\IX3\COSMIC\DB"
goto end
这里成功创建了第一个文件夹(如果存在“%1%\JBoss”转到测试),但第二个函数不起作用。如果我删除了第一个函数,那么第二个函数正在工作
请有人解释一下原因好吗?试试这个:
:X3Main
IF EXIST "%1%\JBoss\" call:Test
IF EXIST "%1%\DB\" call:DB
goto :eof &rem or goto:end or where you want
:Test
mkdir "%DESTINATION%\IX3\COSMIC\JBoss"
goto :eof
:DB
mkdir "%DESTINATION%\IX3\COSMIC\DB"
goto :eof
使用call
从函数返回,使用goto:eof
结束函数。
关于foxidrive的答案编辑。一些额外信息:在Windows的NT行中,要对文件夹进行可靠测试,需要在foldername的末尾加上反斜杠 您可能是指%1而不是%1%
IF EXIST "%~1\JBoss\" do task
在您的情况下,您可以始终使用此选项,如果文件夹已经存在,则此选项将不起任何作用:2>nul
将在文件夹存在时消除无害的错误消息
mkdir "%DESTINATION%\IX3\COSMIC\JBoss" 2>nul
mkdir "%DESTINATION%\IX3\COSMIC\DB" 2>nul
您发布的代码的意图不清楚。请更好地解释您试图用一个包含文件夹结构的示例做什么。此外,检查下面的一些答案,他们会给你一些提示:1。请注意
%1
、%1%
、%1
和“%1”
之间的差异。二,。注意goto-end
和goto:eof
之间的区别,以及goto
和call
之间的区别。