Board logo

标题: 哪位朋友帮我优化一下这个批处理 [打印本页]

作者: yy2118370     时间: 2008-9-10 10:43    标题: 哪位朋友帮我优化一下这个批处理

哪位朋友帮我优化一下这个批处理,尽量精简点。

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  这批文件可能存在也可能不存在。
作者: HAT     时间: 2008-9-10 10:49

cd /d d:\
if exist CYG*.exb (
  md C_CYG 2>nul
  MOVE CYG*.exb C_CYG 2
)
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%
)

作者: yy2118370     时间: 2008-9-10 13:13
首先在此感谢HAT,但优化后的批处理无法实现原来的功能。
运行你的批处理后,只在D盘根目录下建立了C_cyg这个文件夹,没有实现MOVE的功能。

[ Last edited by yy2118370 on 2008-9-10 at 01:37 PM ]
作者: haiou327     时间: 2008-9-10 13:36
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 ]
作者: yy2118370     时间: 2008-9-10 14:59
先感谢楼上的两位,对本本例而言,楼上的程序好像通过了。

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


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

[ Last edited by yy2118370 on 2008-9-10 at 03:27 PM ]