У меня есть. TXT-файл, содержащий 2400 отдельных сетевых путей к каталогам, которые мне нужно 7zip в отдельные зашифрованные файлы .7z.

Я верю, что могу сделать что-то подобное в Power Shell, но до сих пор не получил это работать

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

Я попробовал следующее в командном файле, перемещая командный файл в каталог, когда папки, которые я хочу сжать, и это работает, но мне нужно это, чтобы прочитать пути к каталогам из текстового файла, содержащего список

Какие-либо предложения?

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

1 ответ1

0

Так что, может быть, что-то вроде этого, для простого прохода в этом. Есть, конечно, другие способы сделать это.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .