如何查看字符串是否为四个字母长?– Windows 批处理

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 之类的文件应该回显,但事实并非如此。

Aac*_*ini 5

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

  • 是的,这确实是实现这一目标的最快方法。现已在 Windows 10 和 8.1 上进行测试 `:)` (2认同)