我正在尝试创建一个可以查看文本文件的批处理文件。
在文本文件中,有一些文本行。我需要遍历每一行,如果它包含字符\\
,那么我想回显整行。
我目前有以下内容,但它不起作用。结果是所有行都会被回显,而不是那些有\\
的行。
for /f "delims=*" %%A in (list.txt) do (
if NOT "%%A"=="%%A:\\=%" (
echo %%A
)
)
任何人都可以告知发生了什么?
答案 0 :(得分:0)
MC ND使用find
的{{3}}肯定是您的任务最简单的解决方案。无论如何,我想专注于你的方法。
您不能将suggestion与sub-string replacement变量引用一起使用。您需要将%%A
存储在普通环境变量中并在那里应用子字符串替换。但是,由于您位于代码块(for
循环)内,因此必须使用for
。这是它的工作原理:
setlocal EnableDelayedExpansion
for /F "delims=*" %%A in (list.txt) do (
set "TEST=%%A"
if NOT "!TEST!"=="!TEST:\\=!" (
echo/!TEST!
)
)
endlocal