[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理脚本怎样根据日期移动和删除文件?

跪求大神一批处理,此批处理需完成三个任务:每天视频监控都会在E盘下VideoFiles\目录生成一个按日期为名字的目录(例:E:\VideoFiles\20141201),我在2014年12月2日零点将文件备份到E:\VideoFiles\20141201,可是备份期间产生的E:\VideoFiles\20141202目录下的部分文件也会备份过来。
我需要完成的第一个任务:移动F盘文件名为当前日期前一天的文件夹及里面所有文件到同分区的另一个目录里(move f:\VideoFiles\20141201\*.* f:\VideoBackup\20141201\*.*)
需要完成的第二个任务:删除F盘文件名为当前日期的文件夹及里面所有文件。(rd /s f:\VideoFiles\20141202)
需要完成的第三个任务:删除E盘文件名为当前日期前一天的文件夹及里面所有文件。(rd /s e:\VideoFiles\20141201)


我在XP系统里测试move f:\VideoFiles\20141201\*.* f:\VideoBackup\20141201\*.*命令提示我文件名、目录名或卷标语法不正确。

这里的大师级人物能帮我一下吗?

TOP

回复 2# Jokerking


    move 移动时后面跟路径就行了,不需要加通配符
  1. move f:\VideoFiles\20141201\*.* f:\VideoBackup\20141201\
复制代码
没太听懂你讲的什么,仅仅移动的话上面这条指令就行了
你可以保存到一个文本中,并将后缀名txt改为bat
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

f:\VideoFiles下的文件夹是软件每天按日期自动生成的,我需要把这个文件夹做成变量,来完成我上面的三个操作需求。

TOP

回复 1# Jokerking

  1. @echo off
  2. >dstdate.vbs echo LastDate=date()-1
  3. >>dstdate.vbs echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
  4. >>dstdate.vbs echo wscript.echo FmtDate
  5. for /f %%a in ('cscript /nologo dstdate.vbs') do (set "getdate=%%a")
  6. del dstdate.vbs /s /f /q>nul
  7. ::移动F盘文件名为当前日期前一天的文件夹及里面所有文件到同分区的另一个目录里
  8. move "F:\VideoFiles\%getdate%" "F:\VideoBackup\"
  9. ::删除F盘文件名为当前日期的文件夹及里面所有文件
  10. rd /s /q "F:\VideoFiles\%date:~0,4%%date:~5,2%%date:~8,2%\"
  11. ::删除E盘文件名为当前日期前一天的文件夹及里面所有文件
  12. rd /s /q "E:\VideoFiles\%getdate%\"
  13. pause
复制代码

TOP

回复 5# pcl_test


    万分感激!

TOP

返回列表