有没有办法在if条件下放置多个动作?像这样:
if not exist MyFolderName (
ECHO create a folder
mkdir MyFolderName
)
Run Code Online (Sandbox Code Playgroud) 在我的一个脚本中,我需要使用包含括号内部IF语句的变量,但是字符串缺少右括号或者脚本过早退出* was unexpected at this time(实际上不是星号),具体取决于场景.
例
@echo off
SET path=%programFiles(x86)%
echo Perfect output: %path%
IF NOT "%path%" == "" (
REM Variable is defined
echo Broken output: %path%
)
pause >nul
Run Code Online (Sandbox Code Playgroud)
产量
Perfect output: C:\Program Files (x86)
Broken output: C:\Program Files (x86
Run Code Online (Sandbox Code Playgroud)
我认为/知道这是因为它认为右括号C:\Program Files (x86)是IF语句的结尾并且它在echo完成之前退出.
是否有一种简单的方法可以解决这个问题?最好不要诉诸
IF语句,因为我需要在其中运行多行代码,GOTOs,因为它不实用,SETLOCAL EnableDelayedExpansion并且使用!path!而不是%path%,因为我记得在某处读取该方法不能在OS中一致地工作.如果没有,我很乐意接受所提供的最可靠的解决方案,无论它是什么.
(这个场景不值得讨论.这只是问题的一个精炼,集中的例子.结构需要像这样,因为它在我的实际脚本中,原因我不会进入.它除了这一点,它只会混淆事物并分散实际问题.)