7zip 从网络路径列表中分离目录

7zip 从网络路径列表中分离目录

我有一个 .txt 文件,其中包含 2400 个单独的网络路径,我需要将其通过 7zip 压缩成单独的加密 .7z 文件。

我相信我可以在 power shell 中做这样的事情,但到目前为止还没有让它工作

dir | ForEach-Object { & "7za.exe" a $_.BaseName $_.Name }

我已经在批处理文件中尝试了以下内容,当我想要压缩文件夹时将批处理文件移动到目录中并且它可以工作,但我需要它从包含列表的txt文件中读取目录路径

有什么建议么?

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.7z" "%%X\"

答案1

所以也许可以这样,简单地完成这个。当然还有其他方法可以做到这一点。

# Read the file to parse
$NetworkPaths = Get-Content -Path 'D:\Temp\NetworkPaths.txt'

# Loop through the list and split off path info to name and zip the files in the path provided
ForEach($NetworkPath in $NetworkPaths)
{ Start-Process -FilePath "C:\Program Files\7-Zip\7z.exe" -ArgumentList "a -tzip D:\Temp\$(($NetworkPath.Split('\'))[-1]).zip $NetworkPath\*.* -r -pSECRET" -Wait}

相关内容