Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用bat命令创建文件夹_Batch File - Fatal编程技术网

Batch file 使用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”转到测试),但第二个函数不起作用。如果我删除了第一

我有一个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\" 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
之间的区别。