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

[文本处理] 紧急求助批处理定时备份文件

请教各位大神!
   如何用批处理把一个文件夹下的所有文件备份备份到另一个文件夹下(如: D:123\456,备份到E:111\222)
     需求:
      1、每6小时自动备份一次;
      2、备份后的文件以备份当时的时间命名!
      3、自动覆盖或者删除前10天的备份,

回复 4# flashercs


    <#*,:&cls
@echo off
cd /d "%~dp0"
powershell -C "Set-Location -LiteralPath ([Environment]::CurrentDirectory);. ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~f0\" -ReadCount 0 | Out-String)))"
pause
exit /b   
   

    老师,方便给说一下以上代码的含义吗?谢谢!

TOP

回复 4# flashercs


    非常感谢!

TOP

  1. <#*,:&cls
  2. @echo off
  3. cd /d "%~dp0"
  4. powershell -C "Set-Location -LiteralPath ([Environment]::CurrentDirectory);. ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~f0\" -ReadCount 0 | Out-String)))"
  5. pause
  6. exit /b
  7. #>
  8. # 间隔时间(单位:秒)
  9. $delay = 6 * 60 * 60
  10. # 备份源文件夹
  11. $srcdir = "d:\test\d\04"
  12. # 备份目标文件夹
  13. $dstdir = "d:\test\d\05"
  14. while ($true) {
  15.   # 备份
  16.   [System.IO.DirectoryInfo]$dstdir2 = [System.IO.Directory]::CreateDirectory([System.IO.Path]::Combine($dstdir, (Get-Date -Format 'yyyyMMddHHmmssfff')))
  17.   Copy-Item -LiteralPath $srcdir -Destination $dstdir2 -Recurse -Verbose
  18.   # 删除前10天的备份目录
  19.   (Get-ChildItem -LiteralPath $dstdir | Where-Object { $_.PSIsContainer }) | ForEach-Object {
  20.     $span0 = $_ | New-TimeSpan
  21.     if ($span0.Days -ge 10) {
  22.       $_ | Remove-Item -Recurse -Force -Verbose
  23.     }
  24.   }
  25.   Start-Sleep -Seconds $delay
  26. }
复制代码
微信:flashercs
QQ:49908356

TOP

回复 2# flashercs


    您好 不太懂

TOP

robocopy 可以了解一下
微信:flashercs
QQ:49908356

TOP

返回列表