中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 17:41
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » 哪位朋友帮我优化一下这个批处理
可打印版本  732 / 4
第1楼 yy2118370 发表于 2008-09-10 10:43
初级用户 发帖 13 积分 29
哪位朋友帮我优化一下这个批处理
哪位朋友帮我优化一下这个批处理,尽量精简点。

d:
cd\

if exist CYG*.exb (if not exist C_CYG md C_CYG)
if exist CYG*.exb MOVE CYG*.exb C_CYG
if exist C_CYG\CYG*.exb (if not exist C_CYG\CYG_%date:~0,4% md C_CYG\CYG_%date:~0,4%)
if exist C_CYG\CYG*.exb MOVE C_CYG\CYG*.exb C_CYG\CYG_%date:~0,4%

说明:1、d:\c_cyg 这个文件夹可能存在也可能不存在。
2、d:\c_cyg\cyg2008 这个文件夹可能存在也可能不存在。
3、d:\cyg*.exb 这批文件可能存在也可能不存在。
42、d:\c_cyg\cyg2008\cyg*.exb 这批文件可能存在也可能不存在。
第2楼 HAT 发表于 2008-09-10 10:49
版主 发帖 5,017 积分 9,023
第3楼 yy2118370 发表于 2008-09-10 13:13
初级用户 发帖 13 积分 29
首先在此感谢HAT,但优化后的批处理无法实现原来的功能。
运行你的批处理后,只在D盘根目录下建立了C_cyg这个文件夹,没有实现MOVE的功能。

[ Last edited by yy2118370 on 2008-9-10 at 01:37 PM ]
第4楼 haiou327 发表于 2008-09-10 13:36
高级用户 发帖 348 积分 713
cd /d d:\
if exist CYG*.exb (
md C_CYG 2>nul
MOVE CYG*.exb C_CYG 2>nul
)
if exist C_CYG\CYG*.exb (
md C_CYG\CYG_%date:~0,4% 2>nul
MOVE C_CYG\CYG*.exb C_CYG\CYG_%date:~0,4%
)

[ Last edited by haiou327 on 2008-9-10 at 01:39 PM ]
第5楼 yy2118370 发表于 2008-09-10 14:59
初级用户 发帖 13 积分 29
先感谢楼上的两位,对本本例而言,楼上的程序好像通过了。

但已经检测到楼上的程序还有一点问题,原因正在查找中。
测试方法,重复 执行楼上的程序,但每次把 C_CYG 字符替换成其它的字符,发现创建了空的文件夹。


现在已经可以了,原因是在文件名中有空格。

[ Last edited by yy2118370 on 2008-9-10 at 03:27 PM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023