我有一个 .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}