,現在我明白我在這篇文章中提到的更大的問題... 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