【问题标题】:If statement inside For loop in batch script批处理脚本中的 For 循环内的 If 语句
【发布时间】:2016-06-04 02:36:20
【问题描述】:

我正在开发一个批处理脚本来更改多个服务器,这些服务器可能包含也可能不包含 D:\apps\domain 下的特定子文件夹。可能的域子文件夹有多种组合。我的逻辑要求: 如果 domain\folder1 存在,则执行 command1 如果 domain\folder2 存在,则执行 command2 等等

我正在使用以下...

for /f "tokens=*" %%Z in ('dir /a:D /b "D:\apps\domain"') do (
if %%Z="PGBWAHD_NA" 
command1

但在第一个 IF 语句中出现语法错误。
错误信息 .... =PGBWAHD_NA 此时出乎意料。 D:\apps\hawk_schtasks>如果 /I %Z=PGBWAHD_NA 子文件夹 PGBWAHD_NA 确实存在,但脚本出错并退出。

【问题讨论】:

    标签: batch-file if-statement for-loop


    【解决方案1】:

    你更需要:

    for /f "tokens=*" %%Z in ('dir /a:D /b "D:\apps\domain"') do (
      if "%%~Z" == "PGBWAHD_NA" (
      command1
     )
    )
    

    在批处理文件中,有效的比较是 ==EQULSSLEQGTRGEQ 并且还会评估引号。

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      相关资源
      最近更新 更多