Board logo

标题: [文件操作] 批处理如何复制文件到文件夹,并以当天日期命名? [打印本页]

作者: colour250    时间: 2023-8-28 20:44     标题: 批处理如何复制文件到文件夹,并以当天日期命名?

因为每天都需要更改该文件,所以要每天复制一个备存,并加以当天的日期命名,然后删除10天之前的文件。请问用批处理如何书写。谢谢
作者: 77七    时间: 2023-8-28 21:59

  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. set "file=d:\1.txt"
  4. set "folder=d:\新建文件夹"
  5. set "DaysAgo=10"
  6. for %%a in ("%file%") do (
  7. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d'"') do (
  8. copy /y "%file%" "%folder%\%%~na_%%i%%~xa"
  9. )
  10. for /f "delims=" %%i in ('powershell -c "Get-Date (Get-Date).AddDays(-%DaysAgo%) -uformat "%%Y-%%m-%%d""') do (
  11. for /f "delims=" %%b in ('dir /b /a-d "%folder%\%%~na_*-*-*%%~xa"') do (
  12. if "%%~nb" leq "%%~na_%%i" (
  13. del "%folder%\%%b"
  14. )
  15. )
  16. )
  17. )
  18. pause
  19. exit
  20. 参考资料
  21. http://bbs.bathome.net/viewthread.php?tid=3328
  22. http://www.bathome.net/viewthread.php?tid=3330
复制代码

作者: colour250    时间: 2023-8-28 23:08

回复 2# 77七


    谢谢,非常感谢
作者: Five66    时间: 2023-8-28 23:45

本帖最后由 Five66 于 2023-8-30 22:53 编辑

额,忘了系统日期格式修改过了,已编辑
作者: Nsqs    时间: 2023-8-29 00:35

  1. $today=[datetime]::Now.Date
  2. $targetPath='某路径'
  3. dir -File *.txt|?{$_.LastWriteTime -lt $today}|%{copy $_ "$targetPath\$today.$($_.Extension)"}
复制代码
保存PowerShell




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