,现在我明白我在这篇文章中提到的更大的问题... Searching a text file and sending only numbers greater than a certain absolute value to text file?比较for循环中数字的绝对值以确定它是否被使用?
我想如果我set num=!num:-=!
用的,比方说,-17
原始值,那么!errorlevel!
将评估结果为true或0
吧?有些东西在这里虽然不起作用,但...
为了澄清,我只需要筛选出第四个标记大于3或小于-3的第一个和第四个标记,以及任何行没有第四个标记(这部分已解决)。我已经尝试使用集合的/A
选项,它似乎仍然工作。
setlocal enabledelayedexpansion
set "min=-"
for /f "tokens=1,4" %%a in ('findstr /b /r /c:"[^ ]*:S:" print.log') do (
if %%b=="" (echo %%a ^*^*^* >>new.txt) else (
set num="%%b"
set num=!num:-=!
if !errorlevel!==0 (
if !num! GTR 3 echo %%a !min!!num! >> new.txt
) else (
if !num! GTR 3 echo %%a !num! >> new.txt
)
)
)
exit /b
在print.log
的文字是这样的:
ksdf 0 0 -4
as7d:S:ASF 0 0 -4
KC:S:CD3 0 0 - 2
asdk:S:s 0 0 6
la SD:S:DD 0 0
我真的很喜欢这种方法。优雅!谢谢@ MC ND! – Glycoversi