相关疑难解决方法(0)

批处理文件if条件下的多个操作

有没有办法在if条件下放置多个动作?像这样:

if not exist MyFolderName (
ECHO create a folder
mkdir MyFolderName
)
Run Code Online (Sandbox Code Playgroud)

windows command-line

13
推荐指数
1
解决办法
3万
查看次数

IF块内变量的括号

在我的一个脚本中,我需要使用包含括号内部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完成之前退出.

是否有一种简单的方法可以解决这个问题?最好不要诉诸

  1. 单行IF语句,因为我需要在其中运行多行代码,
  2. 大量的GOTOs,因为它不实用,
  3. SETLOCAL EnableDelayedExpansion并且使用!path!而不是%path%,因为我记得在某处读取该方法不能在OS中一致地工作.

如果没有,我很乐意接受所提供的最可靠的解决方案,无论它是什么.

 

(这个场景不值得讨论.这只是问题的一个精炼,集中的例子.结构需要像这样,因为它在我的实际脚本中,原因我不会进入.它除了这一点,它只会混淆事物并分散实际问题.)

batch-file parentheses

12
推荐指数
1
解决办法
9490
查看次数

标签 统计

batch-file ×1

command-line ×1

parentheses ×1

windows ×1