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

50红包求助批处理把前一天生成的文件复制到指定文件夹

  [复制链接]
发表于 2018-6-12 21:17:34 | 显示全部楼层 |阅读模式
是这样,我想把一些系统每天生成的文件自动的复制到指定文件夹,比如刚生成的文件命名格式是1806122113....(最后几个字母也有差别).txt,每天生成的数量不固定,就让他第二天早上八点执行,处理前一天生成的,我想请问一下这个该怎么写啊?
 楼主| 发表于 2018-6-13 08:23:24 | 显示全部楼层

50红包求助大神!!!!

是这样,我想把一些系统每天生成的文件自动的复制到指定文件夹,比如刚生成的文件命名格式是1806122113....(最后几个字母也有差别).txt,每天生成的数量不固定,就让他第二天早上八点执行,处理前一天生成的,我想请问一下这个该怎么写啊?
发表于 2018-6-13 09:13:11 | 显示全部楼层
系统每天生成的文件固定在某个文件夹里面吗?
还是分散在好多个不同的文件夹,甚至不同的分区下面?这种情况需要全盘搜索,比较麻烦。
发表于 2018-6-13 09:54:58 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-6-13 09:58 编辑

  • 留下QQ方便沟通细节
  • 指明要检索的目录,如D:\AAA,C:\BBB
  • 指明系统版本,即BAT的应用环境,如XP,  WIN7 32位, WIN7 64位,  WIN8 ,WIN10等
发表于 2018-6-13 10:36:23 | 显示全部楼层
本帖最后由 digger 于 2018-6-13 10:37 编辑

以下代码实现:总是复制脚本所在目录下(目录可改变)最新日期(这个是通过dir自动排序实现的,因为你的都是数字开头)且这个日期文件数少于4个(数目可自行定义)的TXT到d:\test目录下:但是脚本所在路径下的txt文件数不要超过100000000000000个
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=0
  3. for /f "delims=" %%i in ('dir /b *.txt^|sort ^/+100000000000000') do (
  4.      set flag=%%i
  5.      set flag=!flag:~0,6!
  6.      if "!n!"=="0" set name6=!flag!&set n=1
  7.      if "!flag!"=="!name6!" (
  8.          set/a m+=1
  9.          set "#!m!=%%i"
  10.      ) else (
  11.        if !m! LSS 4 (
  12.           if not exist "d:\test\!#1!" (
  13.              for /l %%j in (1,1,!m!) do copy "!#%%j!" "d:\test"
  14.              pause&exit
  15.           )
  16.         )
  17.       
  18.      )
  19. )
  20. if not exist "d:\test\!#1!" (
  21.              for /l %%j in (1,1,!m!) do copy "!#%%j!" "d:\test"
  22. )
  23. pause
复制代码
 楼主| 发表于 2018-6-13 11:35:26 | 显示全部楼层
回复 5# digger

留个联系方式呗哥,还有点细节想问,另外给您报酬
发表于 2018-6-13 11:44:24 | 显示全部楼层
回复  digger

留个联系方式呗哥,还有点细节想问,另外给您报酬
战北 发表于 2018-6-13 11:35

我站内发短消息给你了,你可以在页面右上角查看  短消息  就可以看到了
发表于 2018-6-13 11:52:05 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-6-13 11:54 编辑
  1. @echo off
  2. ::设置检索源目录,多个目录用空格隔开
  3. set "sd="d:\test" "d:\cmd""
  4. ::目的目录
  5. set "dd=d:\备份"

  6. if not exist "%dd%" md "%dd%"
  7. for /f %%a in ('datex -o -1') do set _date=%%a
  8. for /f "delims=" %%a in ('dir /a-d/s/b %sd%') do (
  9.         for /f %%i in ('dir /tc "%%a"^|findstr /ri "[0-9]*-[0-9]*-[0-9]*" ') do (
  10.                 if "%%i" equ "%_date%" copy /y "%%a" "%dd%"
  11.         )
  12. )
  13. pause
复制代码
用到第三方命令行DateX
下载后,将DateX与BAT放在一起即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 06:48 , Processed in 0.019649 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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