gpt4 book ai didi

batch-file - 批量比较字符串

转载 作者:行者123 更新时间:2023-12-04 04:38:35 25 4
gpt4 key购买 nike

我在将变量中的字符串与批处理中的实际字符串进行比较时遇到了很多麻烦。这是脚本:

 set failure=0
for /F "usebackq delims=" %%L in (`"wmic PRINTER where name='10.146.2.52 - HP Color LaserJet CP5225n' GET Name 2>&1"`) do (
::Quotes around variable seem to have no effect. Same result w/ or w/o them.
if /I "%%L"=="No Instance(s) Available." set failure=1
echo %failure% %%L
)

这是输出:

enter image description here

为什么 if 语句失败?值明显匹配。请帮忙!!

最佳答案

这里有三种不同的陷阱。

1) Wmic 有时会在行尾附加一个额外的 CR 字符,这将是字符串的一部分。
2) 您不能在块内使用百分比扩展来访问 failure
3) %%L 周围缺少的引号

试试这个

setlocal EnableDelayedExpansion
set failure=0
for /F "usebackq delims=" %%L in (`"wmic PRINTER where name='10.146.2.52 - HP Color LaserJet CP5225n' GET Name 2>&1"`) do (
set "line=%%L"
set "head=!line:~0,9!"
if "!head!"=="No Instan" set failure=1
echo 123-%%L-456
)
echo %failure%

关于batch-file - 批量比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19275130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com