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

[文件操作] 批处理如何将每天的文件夹里的内容复制到temp目录下?

[复制链接]
发表于 2015-7-16 17:23:17 | 显示全部楼层 |阅读模式
本帖最后由 macherater 于 2015-7-16 18:02 编辑

需求如下:

有一个15425的目录下,客户会每天按日期生成一个子文件夹。
如 \15425\20150715;
    \15425\20150716
    ...

现在需要做一个增量复制。
也就是说,比如今天是7月16日,那么就将今天所对应的那个子目录, \15425\20150716,将这个子目录下的所有文件,都复制到 \15424\temp这个目录下。

temp目录不要手工添加,运行bat的时候自动生成的。如果没有,则生成temp目录,如果有,那么就直接将每天所对应的文件夹里的所有内容复制过去。

因为这个bat文件会将来每天调度

大神们帮忙看看。感激不尽。
发表于 2015-7-16 17:36:29 | 显示全部楼层
本帖最后由 bailong360 于 2015-7-16 22:07 编辑

问题解决后,请编辑顶楼帖子在标题前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
  1. @echo off
  2. for /f "tokens=1,2,3 delims=/- " %%i in ("%date%") do (
  3.     md temp 2>nul
  4.     copy /y .\%%i%%j%%k\* .\temp
  5. )
复制代码
放在15424目录下
  1. @echo off
  2. ::需要调用VBS

  3. REM 指定天数
  4. set DaysAgo=2
  5. >"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
  6. >>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
  7. >>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
  8. for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
  9.     for /f %%i in ("%%a") do (
  10.                 md temp 2>nul
  11.                 copy /y .\%%i\* .\temp
  12.         )
  13. )
复制代码

评分

参与人数 1技术 +1 收起 理由
macherater + 1 太感谢了,我测试下是可以的,

查看全部评分

 楼主| 发表于 2015-7-16 17:36:58 | 显示全部楼层
补充一下,每天每个文件夹下的文件名都是一样的,如果第二天再次复制的话,是覆盖第一天的文件
 楼主| 发表于 2015-7-16 17:59:29 | 显示全部楼层
回复 2# bailong360


    不好意思,还要麻烦问下,刚刚需求上有个错误,那个子文件夹日期不是更新到当天,而是更新到前天
    比如今天7月16日,那么客户提供的最大日期的子文件夹,其实是20150714
@echo off
for /f "tokens=1,2,3 delims=/- " %%i in ("%date%-2") do (
    md temp 2>nul
    copy /y .\%%i%%j%%k\* .\temp
)

我改了下你的代码,发现运行不了,是不是不能直接-2?
发表于 2015-7-16 22:08:22 | 显示全部楼层
回复 4# macherater
已修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 21:33 , Processed in 0.018327 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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