首页 > 解决方案 > 代码完成后批量删除变量的值

问题描述

我想做一个 if/else 语句,如果我的变量为空,它必须回显一个文本,但它永远不会为空,因为它一直给我我在 cmd 中写入的先前值。我怎么可能解决这个问题,我尝试使用 startlocal 和 endlocal 但我无法让它工作这是我的代码:

@echo off
set /p "Input= text:"
FOR %%a IN (%Input%) DO (
    IF "%%a"=="" (echo Write atleast 1 word) else (
        ECHO %%a
    )
)

在这张图片中你可以看到,如果我先写一些东西然后点击回车,它会把所有东西放在一起,但第二次我什么也没写,得到相同的值返回 Cmd 图片

标签: batch-filecmd

解决方案


删除input开始时变量中的任何内容。

@echo off
SET "Input="
set /p "Input= text:"

推荐阅读