使用文本文件中的文件创建 7-Zip 存档 - Powershell

Create 7-Zip Archive with Files from Textfile - Powershell

我正在为我们的支持者编写一个小型 Powershell 应用程序来存档文件。但现在我因为 7zip 选项卡住了。

用户可以 select 一天和目录以及代码 select 那天之前修改过的所有文件。

现在我想将所有这些文件存储在 Zip 存档中,但我不明白:(

    $path = Read-Host "please select path : "

    Set-Alias sz "C:\Program Files-ZipzG.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

您可以使用“7za”。它是一个 7zip 控制台应用程序。您可以使用 google 找到它。 将它放在公共路径中,这是你的路径变量。

这是一个例子:

7za a -tzip "C:temp\myzip.zip" "C:\temp\Client\*.*"

如果指定目录中有 7z.exe7z.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-Zipz.exe" -Wait -ArgumentList $archParams

因为 space-文件路径中的符号

,所以需要转义 qoutes