检查动态变量是否为空 - 批处理

问题描述 投票:0回答:1

如果动态变量为空,我想检查一下。我有变量f1-f9,现在我想检查这样:

IF f%ERRORLEVEL%=" " //do something

但这不起作用。我也尝试过:

IF !f%ERRORLEVEL%!

但这也不起作用。

编辑:

变量f1-f9是这样创建的:

set "f1= "
set "f2= "
...

%ERRORLEVEL%包含1-9之间的数字(来自选择命令)

batch-file variables
1个回答
1
投票

你试图将q1的值" "匹配所以只需通过在%f1%附近添加双引号来修复它,请参阅示例:

IF %ERRORLEVEL%==1 (
    IF "%f1%"==" " (
        set "f1=%turn%"
    ) ELSE (
        goto draw_screen
    )

但是根据你的问题只是你的脚本,你首先需要delayedexpansion,然后如果测试一些直截了当:

@echo off
setlocal enabledelayedexpansion
set "f1= "
set "f2= "
set "f3= "
set "errorlevel=2"

if "!f%errorlevel%!"==" " (
    set "f%errorlevel%=%turn%"
) else (
    goto draw_screen
)

我只使用f1-3来简化答案,明显模仿qazxsw poi作为测试。它是一个if语句,它将匹配任何errorlevel,您可以通过更改上面的errorlevel值来测试它。

© www.soinside.com 2019 - 2024. All rights reserved.