如何在批处理文件中用两个词评估变量?
How to evaluate a variable with two words in a batch file?
top
set /p alt=
echo %alt%>>123.txt
if %alt% equ *ex* goto ex
goto top
:ex
exit
我需要将批处理文件中的内容回显到 .txt 文件中。
我面临的问题是,当我在两个单词或数字或字母之间加上空格时,程序会崩溃。谁能告诉我是什么导致它崩溃以及如何纠正它。
*ex* is for exiting.
if
语法为 if somestring operator anotherstring dosomething
.
最常用的运算符是==
,要dosomething
则两个字符串必须完全匹配。
要对包含空格等分隔符的字符串进行分组,"enclose the strings in double-quotes"
因此
if "%alt%" equ "ex" goto ex
应该适合您(不清楚您是否打算在字符串中包含星号 - 如果是,则匹配为 文字 ,因此星号将 not 表示 "any characters")
if /i ....
将使比较不区分大小写。
如果*
在*ex*
字符串中字面意思:
:top
set /p alt=
echo %alt%>>123.txt
if "%alt%" equ "*ex*" goto :ex
goto :top
:ex
exit
如果您的意思是 *
作为一种 通配符 字符(如 dir *.txt
):
if NOT "%alt:ex=%" equ "%alt%" goto :ex
Variable Edit/Replace:使用以下语法编辑和替换分配给字符串变量的字符。
Syntax
%variable:StrToFind=NewStr%
Key
StrToFind
: The characters we are looking for;
NewStr
: The chars to replace with (if any);
variable
: The environment variable.
下一个示例显示不区分大小写:
-->echo "%OS%" == "%OS:kuk=%" ## "%OS:S_nt=%"
"Windows_NT" == "Windows_NT" ## "Window"
-->echo "%ProgramFiles%" == "%ProgramFiles:ex=%" ## "%ProgramFiles:AM fi=%"
"C:\Program Files" == "C:\Program Files" ## "C:\Progrles"
top
set /p alt=
echo %alt%>>123.txt
if %alt% equ *ex* goto ex
goto top
:ex
exit
我需要将批处理文件中的内容回显到 .txt 文件中。 我面临的问题是,当我在两个单词或数字或字母之间加上空格时,程序会崩溃。谁能告诉我是什么导致它崩溃以及如何纠正它。
*ex* is for exiting.
if
语法为 if somestring operator anotherstring dosomething
.
最常用的运算符是==
,要dosomething
则两个字符串必须完全匹配。
要对包含空格等分隔符的字符串进行分组,"enclose the strings in double-quotes"
因此
if "%alt%" equ "ex" goto ex
应该适合您(不清楚您是否打算在字符串中包含星号 - 如果是,则匹配为 文字 ,因此星号将 not 表示 "any characters")
if /i ....
将使比较不区分大小写。
如果*
在*ex*
字符串中字面意思:
:top
set /p alt=
echo %alt%>>123.txt
if "%alt%" equ "*ex*" goto :ex
goto :top
:ex
exit
如果您的意思是 *
作为一种 通配符 字符(如 dir *.txt
):
if NOT "%alt:ex=%" equ "%alt%" goto :ex
Variable Edit/Replace:使用以下语法编辑和替换分配给字符串变量的字符。
Syntax
%variable:StrToFind=NewStr%
Key
StrToFind
: The characters we are looking for;NewStr
: The chars to replace with (if any);variable
: The environment variable.
下一个示例显示不区分大小写:
-->echo "%OS%" == "%OS:kuk=%" ## "%OS:S_nt=%"
"Windows_NT" == "Windows_NT" ## "Window"
-->echo "%ProgramFiles%" == "%ProgramFiles:ex=%" ## "%ProgramFiles:AM fi=%"
"C:\Program Files" == "C:\Program Files" ## "C:\Progrles"