基于正则表达式FINDSTR批处理脚本删除文件 [英] Batch Script to delete files based on findstr regex

查看:600
本文介绍了基于正则表达式FINDSTR批处理脚本删除文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图删除与批处理脚本某些文件的基础上,一个普通的前pression。我拥有的是:

  FOR / F令牌= *%%一个在('DIR / B | FINDSTR MY_REGEX_HERE')DO ECHO %%一

我知道自己的我内心命令的作品,给我的目录列表,但是当我将它嵌入在for循环这样我得到一个错误 |在这个时候意外。管道是中不允许FOR循环命令?或者我需要逃跑呢还是什么?

我如何能做到这一点任何帮助将是巨大的。


解决方案

  FOR / F令牌= *%%一个在('DIR / B ^ | FINDSTR MY_REGEX_HERE')DO ECHO %%一

逃离 | 使用 ^前

I'm trying to delete some files with a batch script, based on a regular expression. What I have is:

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

I know my inner command works on its own, giving me the list of directories, but when I embed it in the for loop like this I get an error | was unexpected at this time. Is piping not allowed within FOR loop commands? Or do I need to escape it or something?

Any help on how I can do this would be great.

解决方案

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

Escape the | using a ^ before it.

这篇关于基于正则表达式FINDSTR批处理脚本删除文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆