找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22006|回复: 2

[日期时间] 批处理怎样按指定日期指定路径搬迁文件夹?

[复制链接]
发表于 2011-7-18 10:52:12 | 显示全部楼层 |阅读模式
怎样使用批处理写一个小程序(.bat)
(我的电脑D盘有文件夹AY,里有若干文件夹,2011文件夹里面有1,2,3,4,5..以月份命名的文件夹,这些文件夹里面分别又有每个月份日期,1,2...30命名的文件夹,每个月份命名的文件夹里面有1000-2000个不等的*.mp3的文件,文件夹的创建日期都是按日期每天自动创建的.如:\AY\2011\3\13

如何让我的电脑的D盘里面AY的文件夹距离今天日期90日之前的文件夹自动move到E盘里面文件夹里...例如,今天是2011年7月16号,今天90日之前就是,2011年4月18日之前创建的文件夹(按文件夹的最后修改日期为准 )自动搬到我的电脑E盘里面

PS: 本人对批处理完全不懂,新手上路..

希望能有高手能帮帮忙~~十分感谢~~
 楼主| 发表于 2011-7-18 11:41:02 | 显示全部楼层
新手上贴..请大家帮帮忙~
 楼主| 发表于 2011-7-18 17:08:52 | 显示全部楼层
在本论坛找了相关的帖子,终于找到了类似的贴.

以下代码是删除指定天数指定路径的文件的代码

-----------------------------------------

@echo off
rem 指定待删除文件的存放路径
set SrcDir=C:\AY
rem 指定天数
set DaysAgo=1
for /f "skip=2 delims=" %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
  set "RegDateOld=%%a"
)
set RegDateOld=%RegDateOld:~-8%
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
>"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\DstDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do (
  set "DstDate=%%a"
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
for /r "%SrcDir%" %%a in (*.*) do (
  if "%%~ta" leq "%DstDate%" (
  if exist "%%a" (
  del /f /q "%%a"
  )
  )
)
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
pause

----------------------------------

求解上面这段批处理代码,如何修改,可以实现符合条件的move到指定的路径(即我的帖子的要求)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 17:24 , Processed in 0.017065 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表