批处理:替代多字符EOL
答
我发现这工作:
for /F "tokens=*" %%A in ('findstr /b /v /i /r /C:"[ ]*rem[ ]" %BAT_FILE%') do (
echo Uncommented Line: %%A
)
从https://ss64.com/nt/findstr.html:
/b searches from the beginning of the string
/v searches for lines not matching the string
/i allows for "REM" as well as "rem"
/r /C: turns on regex:
[ ] is a block containing a space and a tab.
因此,对于空白的任何数量的正则表达式搜索,字符串 “REM”,然后一片空白。
使用findstr找不到以rem开头的任何行。 – Squashman
一些选项;使用'Tok' = 1 *'的'For'循环以及类似于'Do If Not'%% A“==”REM“的类似方法,或者在可能使用'\'时使用'FindStr/V'。当我们看不到要解析的文件,解析的方法或意图时,很难具体。 –
Compo
bxk21,你不应该把你的答案放到你的问题中,但是没有任何东西阻止你提交它作为答案,并且如果它是你喜欢的答案。请注意,'REM'不一定是第一个有效的字符,因此我建议'\',这意味着匹配整个单词REM。例如,目前还有任何以连字符开头的连接线;远程,重新装入,可移动或剩余部分将被'rem'移除,尽管事实上它不是'rem'ark。 –
Compo