7zip getrennte Verzeichnisse aus einer Liste von Netzwerkpfaden

361
phemor

Ich habe eine TXT-Datei, die 2400 separate Netzwerkpfade zu Verzeichnissen enthält, die ich in separate verschlüsselte .7z-Dateien packen muss.

Ich glaube, ich kann so etwas in Power Shell machen, habe es aber bisher noch nicht geschafft

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

Ich habe folgendes in einer Batchdatei ausprobiert, die Batchdatei in das Verzeichnis verschoben, wenn die Ordner komprimiert werden sollen und es funktioniert, aber ich brauche es, um die Verzeichnispfade aus einer TXT-Datei mit einer Liste zu lesen

Irgendwelche Vorschläge?

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.7z" "%%X\" 
0
In Powershell können Sie den Dateiinhalt wie folgt weiterleiten: `gc paths.txt | % {} `. root vor 5 Jahren 0
Manchmal ist die dumme Lösung die beste: Kopieren Sie die .txt-Datei in eine .bat-Datei, zeichnen Sie in Notepad ++ ein Makro auf, das die Zeile massiert und zur nächsten springt, und führen Sie es 2400-mal aus. harrymc vor 5 Jahren 0

1 Antwort auf die Frage

0
postanote

Also vielleicht so etwas für einen einfachen Durchlauf. Es gibt natürlich andere Möglichkeiten, dies zu tun.

# 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}