标题: [日期时间] 批处理如何实现移动指定文件夹/目录里一小时前生成/创建的文件到其他文件夹/目录? [打印本页]
作者: 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来完成你的工作- @echo off
- set /a mm=%time:~0,2%-1
- set /a nn=3600-%time:~3,2%*60
- dir /o *.*>test.ini
- findstr /iv "bat" test1.ini>>test2.ini
- for /f "tokens=2,4* delims= " %%i in ('type test2.ini') do (
- echo %%i|findstr /i "%mm%:"&&echo move /y "%%j" E:\2016\pupc\
- )
- start "" "d:\Products\gif\vvv.bat"
- del /q test*.ini>nul
- timeout /nobreak /t %nn%
- %0
复制代码
上面这个放在d:\Products\pupc\里,下面这个放在d:\Products\gif\里,命名为vvv.bat,先用d:\Products\pupc\里的bat,他在运行不会退出且会启动d:\Products\gif\里的vvv.bat,并且任意时间启动都会在下次整点后再次运行。- @echo off
- set /a mm=%time:~0,2%-1
- dir /o *.*>test.ini
- findstr /iv "bat" test.ini>>test2.ini
- for /f "tokens=2,4* delims= " %%i in ('type test2.ini') do (
- echo %%i|findstr /i "%mm%:"&&echo move /y "%%j" E:\2016\gif\
- )
- del /q test*.ini>nul
- 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 |