中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 04:22
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结] 自动生成bat的问题
可打印版本  2,093 / 16
第1楼 sinbao 发表于 2007-06-15 13:59
初级用户 发帖 73 积分 184
[已结] 自动生成bat的问题
我们知道dir /b/ad > dirs.bat 是输出当前目录下的文件夹名到文件dirs.bat
假设我这里有两个文件夹20070613和20070713
那么dirs.bat的内容就是
20070613
20070713
但是如果我想要dirs.bat的内容是
SomeCmd "20070613" -d
SomeCmd "20070713" -d
怎么办?

[ Last edited by sinbao on 2007-6-18 at 05:31 PM ]
第2楼 wudixin96 发表于 2007-06-15 14:15
银牌会员 发帖 931 积分 1,928


试试这个?没测试
第3楼 sinbao 发表于 2007-06-16 15:48
初级用户 发帖 73 积分 184
恩,不错...
第4楼 sinbao 发表于 2007-06-16 15:54
初级用户 发帖 73 积分 184
哦,还有一个问题,
如果我要过滤文件夹的名字怎么办?比如我只要文件夹20070613和20070713,而不要1245,abcd,fee等文件夹呢?
第5楼 wudixin96 发表于 2007-06-16 19:15
银牌会员 发帖 931 积分 1,928
仅仅是要20070613和20070713两个文件夹吗?
第6楼 sinbao 发表于 2007-06-18 09:05
初级用户 发帖 73 积分 184
不,要日期格式的文件夹
第7楼 Climbing 发表于 2007-06-18 09:08
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
第8楼 sinbao 发表于 2007-06-18 13:10
初级用户 发帖 73 积分 184
楼上的虽然也行,有个问题是如果我想要文件夹的名字是8位数字呢?
第9楼 wudixin96 发表于 2007-06-18 13:37
银牌会员 发帖 931 积分 1,928


这样呢?似乎P中的正则只能这样写了。没测试,:-)

[ Last edited by wudixin96 on 2007-6-18 at 01:39 PM ]
第10楼 sinbao 发表于 2007-06-18 14:02
初级用户 发帖 73 积分 184
dos支持正则吗?
那\d{8}这种语法支持吗?
第11楼 wudixin96 发表于 2007-06-18 14:34
银牌会员 发帖 931 积分 1,928
findstr中的正则就那么点了。

要是能支持/d[8}。早用了。

要不用VBS或JS吧。正则支持的不错。看样子楼主的正则不错哦。
第12楼 sinbao 发表于 2007-06-18 15:15
初级用户 发帖 73 积分 184
用过perl,正则知道一点...
第13楼 Climbing 发表于 2007-06-18 15:26
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
既然一定要用正则,干脆使用sed或者gawk之类的软件好了,反正有的是。
第14楼 sinbao 发表于 2007-06-18 15:49
初级用户 发帖 73 积分 184
那不行,一定要通用...别人机器上没有装你不可能给他装个吧
第15楼 Climbing 发表于 2007-06-18 16:17
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
有时候,鱼和熊掌是不能兼得的。

微软的批处理从来就不是一个好的编程工具,你不能干它本来就干不了的事情,它跟Unix的shell脚本实在是无法相提并论的。

你的情况,只能走一步看一步了,9楼的脚本应该暂时能够满足要求,但肯定也不完美,因为如果有一个目录是88888888,也是符合规则的。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023