Board logo

标题: [日期时间] 批处理如何实现移动指定文件夹/目录里一小时前生成/创建的文件到其他文件夹/目录? [打印本页]

作者: orb001    时间: 2016-5-31 16:05     标题: 批处理如何实现移动指定文件夹/目录里一小时前生成/创建的文件到其他文件夹/目录?

本帖最后由 pcl_test 于 2016-5-31 20:20 编辑

我是名小白,批处理只懂点一些皮毛,每天为了数据的移动而烦恼,来这里求助高手。
系统环境:windows Server standard   32位
文件目录:d:\Products\pupc\
               d:\Products\gif\
需求:希望把这两个文件夹下,当前时间前一小时前的所有文件移动到E:\2016里面
例如:2016/5/30 13:00前一小时 (也就是2016/5/30 12:00)以前的文件移走
        d:\Products\pupc\  移动到 E:\2016\pupc
       d:\Products\gif\      移动到 E:\2016\gif
请高手帮帮忙哈。
作者: hlzj88    时间: 2016-5-31 21:16

本帖最后由 hlzj88 于 2016-5-31 21:19 编辑

技术浅,只能用两个bat来完成你的工作
  1. @echo off
  2. set /a mm=%time:~0,2%-1
  3. set /a nn=3600-%time:~3,2%*60
  4. dir /o *.*>test.ini
  5. findstr /iv "bat" test1.ini>>test2.ini
  6. for /f "tokens=2,4* delims= " %%i in ('type test2.ini') do (
  7.   echo %%i|findstr /i "%mm%:"&&echo move /y "%%j" E:\2016\pupc\
  8. )
  9. start "" "d:\Products\gif\vvv.bat"
  10. del /q test*.ini>nul
  11. timeout /nobreak /t %nn%
  12. %0
复制代码
上面这个放在d:\Products\pupc\里,下面这个放在d:\Products\gif\里,命名为vvv.bat,先用d:\Products\pupc\里的bat,他在运行不会退出且会启动d:\Products\gif\里的vvv.bat,并且任意时间启动都会在下次整点后再次运行。
  1. @echo off
  2. set /a mm=%time:~0,2%-1
  3. dir /o *.*>test.ini
  4. findstr /iv "bat" test.ini>>test2.ini
  5. for /f "tokens=2,4* delims= " %%i in ('type test2.ini') do (
  6.   echo %%i|findstr /i "%mm%:"&&echo move /y "%%j" E:\2016\gif\
  7. )
  8. del /q test*.ini>nul
  9. exit
复制代码
测试成功,去掉echo就可以用。没考虑0点情况。
作者: orb001    时间: 2016-5-31 22:50

谢谢,hlzj88的热心帮助,明天拿去测试一下。
作者: codegay    时间: 2016-6-1 01:21

成熟的数据同步软件多的是。
作者: gawk    时间: 2016-6-1 09:50

回复 4# codegay


    请举个栗子吧




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