我正在为我们的存档文件支持者编写一个小型Powershell应用程序。但是现在由于7zip选项而陷入困境。
用户可以选择日期和目录,代码会选择在该日之前修改的所有文件。
现在我想将所有这些文件存储在Zip存档中,但我没有得到它:(
$path = Read-Host "please select path : "
Set-Alias sz "C:\Program Files\7-Zip\7zG.exe"
$bis = Read-Host "please select date (dd.mm.yyyy): "
$bisdate = [datetime]::ParseExact($bis,'dd.MM.yyyy',$null)
$files = Get-ChildItem $path | Where {$_.LastWriteTime -lt $bisdate} | ForEach-Object { $_.FullName} > C:\Test\list.txt
我找到了几个7zip操作的样本,但找不到这种情况的解决方案。 Bash有什么选择吗?那样的东西?
zip archive -@ < out.txt
答案 0 :(得分:0)
您可以使用“7za”。它是一个7zip-console-application。你发现它使用谷歌。 将它放在一个公共路径中,该路径位于路径变量中。
以下是一个例子:
7za a -tzip "C:temp\myzip.zip" "C:\temp\Client\*.*"
答案 1 :(得分:0)
如果您在指定目录中有7z.exe
和7z.dll
,则可以使用此代码创建存档:
foreach ($filePath in [System.IO.File]::ReadAllLines("c:\Test\list.txt"))
{
$archParams += "`"" + $filePath + "`" "
}
$archParams = "a `"C:\Test\list.zip`" " + $archParams
Start-Process -FilePath "C:\Program Files\7-Zip\7z.exe" -Wait -ArgumentList $archParams
由于space
- 文件路径中的符号