Board logo

标题: 求实现下列需求的dos命令 [打印本页]

作者: zephyr4ever     时间: 2007-4-28 04:57    标题: 求实现下列需求的dos命令

1.
现有文件夹
d:\temp\
d:\temp\temp1\
d:\temp\temp1\temp11\
d:\temp\temp1\temp12\
d:\temp\temp2\

需要用dos命令,删除d:\temp下的所有文件及文件夹,但要保留1级子目录(如temp1、temp2),其中temp11等2级子目录的名字是可变的。
求此命令?

2.
现有文件夹
d:\temp\2007-04-27\
其中的2007-04-27是今天的日期

需要用dos命令,将此文件夹改名为明天的日期,如今天是2007-04-27,则改为2007-04-28,以此类推。准确的说是改名为此命令执行时第二天的日期。最好能实现改名为第二个工作日的日期。
求此命令?

[ Last edited by zephyr4ever on 2007-4-27 at 04:00 PM ]
作者: lxmxn     时间: 2007-4-28 06:40
是在DOS下还是CMD下执行?
作者: zephyr4ever     时间: 2007-4-29 04:35
xp的cmd下运行
作者: unmask     时间: 2007-4-29 08:35
我来学习,同求这样的脚本,这样的话,以后备份数据就可以让机器自动处理啦,呵呵
作者: lxmxn     时间: 2007-4-30 07:35


  Quote:
但要保留1级子目录(如temp1、temp2)

保留这个文件夹本身还是连里面的文件一起保留?
作者: zephyr4ever     时间: 2007-5-1 04:55
只要保留这个文件夹,其他的都删除
作者: lxmxn     时间: 2007-5-1 05:55
1、
@echo off
for /f "delims=" %%a in ('dir /s/b/ad d:\temp') do (
        for /f "delims=\ tokens=1,2,3*" %%b in ("%%a") do (
                if exist "%%b\%%c\%%d" (rd /s /q "%%b\%%c\%%d" >nul
                md "%%b\%%c\%%d" >nul
                )
        )
)
pause&exit/b
2、
@echo off
set cdir=d:\temp\2007-04-27\
for /f "delims=\ tokens=3" %%a in ("%cdir%") do (
        echo wscript.echo cdate^("%%a"^)+1>tem.vbs
        for /f "delims=" %%b in ('cscript //nologo tem.vbs') do (del tem.vbs&set now=%%b)
)
if exist "%cdir%" move "%cdir%" "%now%"
pause&exit/b

作者: zephyr4ever     时间: 2007-5-4 11:10
多谢版主解答

让我学习一下