使用bat命令创建文件夹

时间:2013-05-02 10:29:30

标签: 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

此处第一个文件夹已成功创建(IF EXIST“%1%\ JBoss”goto Test)但第二个功能无效。如果我删除第一个函数,则第二个函数正在运行。

请你解释一下背后的理由吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

: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的答案。

答案 1 :(得分:0)

一些额外的信息:在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