cmd 批处理 怎样过滤掉包含某些字符的文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmd 批处理 怎样过滤掉包含某些字符的文件?相关的知识,希望对你有一定的参考价值。

for /f "delims=" %%i in ('dir /b')do if not "%%~i"=="%~nx0" ren "%%~i" "%%~ni(亲爱的)%%~xi" 这是原语句。这是.bat版。

这条批处理的含义是在每个文件名后面加上(亲爱的)。
但是在已经加上(亲爱的)文件名应当过滤掉,再次运行就会变成(亲爱的)(亲爱的)。
所以需要加个if,但是判断条件真心不会,就是获取文件名后四位或者文件名中包含字符这种,一直没找到。
要是回答的,建议自己试一下。

for /f "delims=" %%i in ('dir /b') do (
if not "%%~i"=="%~nx0" (
echo "%%~i" | find /i "(亲爱的)%%~xi" || (
ren "%%~i" "%%~ni(亲爱的)%%~xi"
)
)
)
参考技术A …… in ('dir /b^|find /i /v "亲爱的"') do ……

以上是关于cmd 批处理 怎样过滤掉包含某些字符的文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用命令提示符或批处理文件从字符串中删除某些字符?

包含特殊字符的 CMD 替换短语

批处理文件删除额外文件

php怎样执行cmd命令或者bat处理 - 技术问答

批处理查找字符串

windows批处理问题,如何批量删除某几个子文件夹下面,文件名包含特定字符串的所有文件?