【发布时间】:2021-01-26 20:43:31
【问题描述】:
我已经自定义了一个 powershell 代码来将超过 7 天的文件从源文件夹压缩到子文件夹,然后在压缩完成后从源文件中删除原始文件。该代码在文件量较少的内置 Compress-Archive 和 Remove-Item cmdlet 上运行良好,但需要更多时间和系统内存来处理大量文件。所以,我正在研究一个使用 7zip 的解决方案,因为它更快。
以下脚本正确压缩但不遵循仅超过 7 天的文件的条件,并从源文件夹中删除所有文件。它应该只压缩和删除超过 7 天的文件。
我已经尝试了所有可能的故障排除方法,但没有运气。有人可以提出可能的解决方案吗?
if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {throw "$env:ProgramFiles\7-Zip\7z.exe needed"}
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe"
$Date = Get-Date -format yyyy-MM-dd_HH-mm
$Source = "C:\Users\529817\New folder1\New folder_2\"
$Target = "C:\Users\529817\New folder1\New folder_2\ARCHIVE\"
Get-ChildItem -path $Source | sz a -mx=9 -sdel $Target\$Date.7z $Source
【问题讨论】:
标签: powershell scripting 7zip ziparchive