Board logo

标题: [文件操作] [已解决]批处理如何根据文件夹的修改日期来移动文件夹?最好是可以指定日期 [打印本页]

作者: luohao8810    时间: 2015-4-2 18:08     标题: [已解决]批处理如何根据文件夹的修改日期来移动文件夹?最好是可以指定日期

如何能根据这些文件夹的修改日期移动到E:\backup下
最好能根据指定的日期来移动  比如 set一个日期  例如set  指定日期=2014-4-2 就移动修改日期为这个的文件夹
作者: pcl_test    时间: 2015-4-2 18:32

本帖最后由 pcl_test 于 2015-4-2 18:37 编辑

回复 1# luohao8810
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "指定日期=20150402"
  4. for /f "delims=" %%a in ('dir /ad /b') do (
  5. set "修改日期=%%~ta"
  6. set "修改日期=!修改日期:~,4!!修改日期:~5,2!!修改日期:~8,2!"
  7. if "!修改日期!" == "%指定日期%" move "%%a" "E:\backup\"
  8. )
  9. pause
复制代码

作者: luohao8810    时间: 2015-4-3 09:37

回复 2# pcl_test
我想问问 为么那个dir那里 我指定目录的话  修改日期打印出来就是 ECHO 处于关闭状态。
作者: pcl_test    时间: 2015-4-3 10:32

回复 3# luohao8810
路径问题,dir /ad /b "指定目录",这样获取的文件夹是相对路径,所以你要把批处理放进"指定目录"里才可以,以下两种方式是绝对路径,不管批处理放在哪里运行都可以
  1. @echo off
  2. cd /d "指定目录"
  3. for /f "delims=" %%a in ('dir /ad /b') do echo %%~ta
  4. pause
复制代码
  1. @echo off
  2. for /d %%a in ("指定目录\*") do echo %%~ta
  3. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2