日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

      编程问答

      powershell 备份文件脚本

      發布時間:2025/3/20 编程问答 40 豆豆
      生活随笔 收集整理的這篇文章主要介紹了 powershell 备份文件脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

      由于項目需要改寫備份文件的程序.

      (原來的解決方案是用vb6 去遍歷文件, 不吐槽了)


      需求1: 檢查每個文件的修改時間, 如果小于日期參數, 則備份(和刪除);

      需求2:保留被備份文件的目錄結構。


      linux下備份文件很簡單, 可惜我們只有windows Server。


      百度不到。

      為了性能花了2小時寫了個powershell 腳本...


      話說MS的東西跟開源方案比起來基本上都是垃圾。


      例如C#比java, windows server 比linux, powershell比bash等等...

      1個xargs解決的東西我tmd寫了個循環。

      mdzz.


      $scriptName = "archive.ps1"; if (!($args.count -eq 3)){write-host("Usage - " + $scriptName + " <<Source Path>> <<Destination Path>> <<beforeDate>>");exit -1; }$pathFrom = $args[0]; $pathTo = $args[1]; $dateBefore = [datetime]::ParseExact($args[2],"yyyy-MM-dd",$null); write-host("source path is: " + $pathFrom); write-host("destination path is: " + $pathTo); write-host("archive files whose modified date is before: " + $dateBefore);if (!((Test-path -path $pathFrom) -and (Test-path -path $pathTo))){write-host("source path or destination path is not existed!");exit -1; }$pathCopyTo = ""; $pathFromLen = $pathFrom.Length; $LenGap = 0; $LenGap2 = 0;ls -r $pathFrom | ?{$_.LastWriteTime -lt $dateBefore } | Foreach-Object{$lenGap = $_.FullName.Length - $pathFromLen - $_.Name.Length - 1;$pathCopyTo = $PathTo + $_.FullName.Substring($pathFromLen, $lenGap);write-host("copying " + $_.FullName + " to " + $pathCopyTo);if(!(Test-path -path $pathCopyTo)){write-host("creating folder " + $pathCopyTo );mkdir -Pa $pathCopyTo;}copy-item $_.FullName $pathCopyTo -Force; }exit 0;

      總結

      以上是生活随笔為你收集整理的powershell 备份文件脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。