Batch file 如何批量进行条件标签调用
我想制作一个简单的批处理脚本,该脚本应该能够运行ant构建脚本。当我启动batfile时,我希望它提示我输入目标名称。然后做一个简单的条件测试:如果我只是输入enter(不输入任何字符串)转到标签1,否则转到标签2(调用带有参数的ant,即我在promt中输入的内容)。这就是我试过但没用的东西:Batch file 如何批量进行条件标签调用,batch-file,Batch File,我想制作一个简单的批处理脚本,该脚本应该能够运行ant构建脚本。当我启动batfile时,我希望它提示我输入目标名称。然后做一个简单的条件测试:如果我只是输入enter(不输入任何字符串)转到标签1,否则转到标签2(调用带有参数的ant,即我在promt中输入的内容)。这就是我试过但没用的东西: @echo off set /p target=Please enter target: IF %target%=="" (GOTO Call_script_with_default_targe
@echo off
set /p target=Please enter target:
IF %target%=="" (GOTO Call_script_with_default_target) ELSE (GOTO Call_script_with_specified_target)
:Call_script_with_default_target
echo ant default-target
::when no argument is present, it assumes default target
ant
pause
GOTO End
:Call_script_with_specified_target
echo ant %target%
ant %target%
GOTO End
:End
pause
当我键入
clean
(在提示下)时,它会按预期工作,但当我刚刚点击enter时,不会发生任何事情。在测试的两侧都包含引号
IF "%target%"=="" ...
或者检查变量是否包含某些内容
if defined target ...
或者检测设置/p
操作是否失败
set /p "target=Please enter target:" || GOTO Call_script_with_default_target
在测试的两边都加上引号
IF "%target%"=="" ...
或者检查变量是否包含某些内容
if defined target ...
或者检测设置/p
操作是否失败
set /p "target=Please enter target:" || GOTO Call_script_with_default_target
您可以使用“如果定义了变量”或“如果未定义变量”,例如:
您可以使用“如果定义了变量”或“如果未定义变量”,例如:
事实:
命令保持set/p target=请输入目标:
变量的值不变,如果用户只按enter键李>target
如果未初始化,则计算结果为空字符串。因此,%target%
计算结果为语法错误IF%target%==“”(…
并引发错误IF==“”(…
,或者将脚本简化为等效脚本
@echo off
set "target="
set /p target=Please enter target:
call ant %target%
:End
pause
事实:
set/p target=请输入目标:
命令保持target
变量的值不变,如果用户只按enter键
%target%
如果未初始化,则计算结果为空字符串。因此,如果%target%==“”(…
计算结果为语法错误如果==“”(…
并引发错误
如果“%target%”==“”(…
,请使用,或者将脚本简化为等效脚本
@echo off
set "target="
set /p target=Please enter target:
call ant %target%
:End
pause
如果“%target%”==”
,请尝试使用。请记住ant
是一个bat文件,您需要它像调用ant一样调用它。
如果“%target%”==”,请尝试使用
。请记住,ant
是一个bat文件,您需要它像调用ant一样调用它。LOL-我们都非常专注于消除错误,有时看不到明显的…+1LOL-我们都非常专注于消除错误,有时看不到明显的…+1