标题: 在路径中能不能用正则表达式
[打印本页]
作者: aobu129
时间: 2009-4-22 12:02
标题: 在路径中能不能用正则表达式
我想编一个批处理文件 自动删除一些文件
但是 整个路径中有一组不确定的数字文件夹 比c:\aaa\bbb\2008\files\*.*
那个2008可能是别的4位数字 1008 3008 我不知道怎么才能用正则表达式把这四位数表示到路径中 dos下
谢谢
作者: yishanju
时间: 2009-4-22 14:04
用FINDSTR
作者: aobu129
时间: 2009-4-23 02:28
楼上的兄弟 你那只是 能在文本里找啊
我试过了 在批处理的 文件夹路径里面 正则表达式 没有用的
它把哪个表达式认为一个字符串
作者: yishanju
时间: 2009-4-23 03:17
你敢说清楚你想要做什么么
作者: aobu129
时间: 2009-4-23 05:25
哦 对不起 没有解释清楚
我的意思是 比如说QQ 吧 qq的目录里面不是有很多qq账号相关的文件夹吗 ??
我要做一个批处理把 每个QQ 号码里面的文件传输目录给删除了
这下清楚了吧
谢谢
作者: freeants001
时间: 2009-4-23 05:53
试试
@echo off
for /f "delims=" %%i in ('dir/a/s/b c:\aaa\bbb\^|findstr \\[0-9][0-9][0-9][0-9]\\') do @
echo %%i
pause
如果显示的你要删除的文件,自已修稍作修改就可以了.
[
Last edited by freeants001 on 2009-4-24 at 07:45 ]
作者: aobu129
时间: 2009-4-23 06:08
不行哦 哥们儿
执行后说
文件名、目录名或卷标语法不正确。
文件名、目录名或卷标语法不正确。
文件名、目录名或卷标语法不正确。
文件名、目录名或卷标语法不正确。
文件名、目录名或卷标语法不正确。
作者: yishanju
时间: 2009-4-23 10:56
@echo off
for /f "delims=" %%i in ('dir/a/s/b "D:\Program Files\cmqq\"^|findstr -ric:"D:\\Program Files\\cmqq\\[0-9][0-9][0-9][0-9][0-9]*"') do (
echo %%i
)
pause
[
Last edited by yishanju on 2009-4-23 at 11:07 ]
作者: netbenton
时间: 2009-4-23 11:01
@echo%%i
连在一起了,改为:@echo %%i
作者: aobu129
时间: 2009-4-23 22:36
谢谢 大家了 真热心啊
但是 我要删除哪个数字的目录啊
[
Last edited by aobu129 on 2009-4-23 at 22:38 ]
作者: aobu129
时间: 2009-4-24 02:33
yishanju
能不能搞个基础点儿的教程给看看啊
我想学唉~~~ 批处理 你给的哪个for 里面的 这些我怎都没有见过??
作者: yishanju
时间: 2009-4-24 03:06
搜一搜FINDSTR
学一学正则表达式
作者: aobu129
时间: 2009-4-24 04:31
正则表达式 我学过啊 以前在redhat下 用过 bash 学的
我是不知道 for这个语句 现在找到了 正在学 帮我看下 为何没有效果呢
@echo off
for /f "delims=" %%i in ('dir/a/s/b "C:\Program Files\Tencent\qq\"^|findstr -
ric:"C:\\Program Files\\Tencent\\qq\\[0-9][0-9][0-9][0-9][0-9]*"') do (
rd /Q/s %%i
)
pause
作者: aobu129
时间: 2009-4-24 23:12
再顶一下 楼上的问题
作者: freeants001
时间: 2009-4-25 00:21
rd /Q/s %%i 改为
rd /Q/s " %%i"
作者: Hanyeguxing
时间: 2009-4-25 09:09
http://www.cn-dos.net/forum/view ... id=Zg2hOe#pid325944
参考这里26楼的回复
作者: aobu129
时间: 2009-4-29 04:26
不知为何 还是不行