[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助批处理对比符合条件的文件的修改时间,复制文件到指定目录

链接:https://pan.baidu.com/s/1NBihbsCUyVsjWHiSyqNU7Q?pwd=vh7e
提取码:vh7e
--来自百度网盘超级会员V9的分享

当前目录【通知条】下有一些以“记录表”开头的文件,文件类型不限,

如,
通知条\记录表01小楷.xlsm
通知条\记录表02笔记.xlsm
通知条\记录表03作文.xlsm
通知条\记录表04生字.xlsm
通知条\记录表05口算.pdf
……(文件数量不限,只有文件名以“记录表”开头,就在考虑范围之中)

\通知条\更新的表格\提取文件.bat

在【通知条】目录下有【更新的表格】文件夹,这里需要的BAT文件放在这里,有命名为【提取文件.bat】

【提取文件.bat】在实现,

①        首次运行【提取文件.bat】时,记录  \通知条\记录表*.*  文件的修改时间;
②        之后每次运行【提取文件.bat】时,先删除 \通知条\更新的表格\记录表*.* ;再将文本中记录的内容 和\通知条\记录表*.* 同名文件进行对比,如果有文件系统修改时间有改变,则将相关文件复制到 \通知条\更新的表格\ 文件夹下。
③        如  通知条\记录表06速算.pdf  有新增加的 符合规则的文件时 ,则将文件文件名、修改时间追加记录到【提取文件.bat】中,同时复制文件到\通知条\更新的表格\中,下次运行【提取文件.bat】时,此文件同其他文件一并规则处理。

感谢。


链接:https://pan.baidu.com/s/1NBihbsCUyVsjWHiSyqNU7Q?pwd=vh7e
提取码:vh7e
--来自百度网盘超级会员V9的分享

  1. @echo off
  2. cd /d "%~dp0"
  3. cd ..
  4. if not exist "%~dp0list.txt" (
  5. call :1
  6. ) else (
  7. del /q "%~dp0记录表*" 2>nul
  8. for /f "useback delims=" %%a in ("%~dp0list.txt") do (
  9. set %%a
  10. )
  11. for %%a in (记录表*.*) do (
  12. if not defined _"%%a%%~ta" (
  13. copy "%%a" "%~dp0"
  14. )
  15. )
  16. call :1
  17. )
  18. pause & exit
  19. :1
  20. (for %%a in (记录表*.*) do (
  21. echo _"%%a%%~ta"=1
  22. ))>"%~dp0list.txt"
  23. exit /b
复制代码
bat小白,请多指教!谢谢!

TOP

回复 1# qd2024


通知条\更新的表格\提取文件.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. xcopy /y /d ..\记录表*.* .
复制代码
有可能你想复杂了,xcopy命令的/d选项可以自己判断文件是否需要复制(是否有更新),不需要像你这样手工记录时间再对比时间。
测试代码之前请做好备份

TOP

回复 2# 77七


    谢谢

TOP

回复 3# ShowCode


    有生成方案吗

TOP

回复 5# qd2024


    请举例说明“生成方案”是什么?
测试代码之前请做好备份

TOP

回复 6# ShowCode


    用 77七 的方法已经得到想要的结果 感谢

TOP

返回列表