Elo*_*son 2 regex windows for-loop batch-file
所以我正在处理 Windows 批处理脚本,我想知道输入字符串(文件名)是否正好是四个字母长。我想用正则表达式或字符串匹配来做。
我尝试了以下但没有奏效...
for /R "%windir%\system32" %%f in (*) do (
set filename=%%~nf
if not "!filename!"=="!filename:[a-z][a-z][a-z][a-z]=!" (
echo %%~nf
)
)
Run Code Online (Sandbox Code Playgroud)
所以我的代码循环遍历 \system32 中的所有文件。mode.com 之类的文件应该回显,但事实并非如此。
This works:
dir /B "%windir%\system32" | findstr "^[a-z][a-z][a-z][a-z]\."
Run Code Online (Sandbox Code Playgroud)
Tested on Windows 10