繁体   English   中英

批处理脚本,用于删除基于findstr正则表达式的文件

[英]Batch Script to delete files based on findstr regex

我正在尝试使用批处理脚本删除一些基于正则表达式的文件。 我有的是:

FOR /f "tokens=*" %%a in ('dir /b | findstr MY_REGEX_HERE') DO ECHO %%a 

我知道我内心的命令对自己的,给我的目录列表,但是当我将它嵌入在for循环这样我得到一个错误| was unexpected at this time. | was unexpected at this time. FOR循环命令中是否允许使用管道? 或者我需要逃避它或什么?

任何有关如何做到这一点的帮助都会很棒。

FOR /f "tokens=*" %%a in ('dir /b ^| findstr MY_REGEX_HERE') DO ECHO %%a 

逃避| 在它之前使用^

CMD处理器太有限了,无法在这里做你想做的事情,在这种情况下管道是不合法的。 你可以用一个CALL替换你的ECHO存根到另一个批处理文件来克服它,但即便如此,你仍然会遇到问题。 请参阅要将所有文件从目录批量移动到父目录中,并删除子目录以快速比较脚本环境选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM