Как я могу сжать каждую подпапку X в папке как отдельный файл rar

Я действительно новичок в кодировании Powershell и мне нужна ваша помощь, пожалуйста.

Я использую Windows 10 с Powershell 5.1 и пытаюсь решить это с помощью Winrar. Основная папка содержит 5000 подпапок. Я хотел бы указать, сколько папок должно быть включено в архив, и сжать каждую X из них в отдельные файлы rar.

создайте текстовые файлы и для каждого rar-файла файл .txt со всеми именами подпапок в каждом rar

Например: сначала: укажите, сколько папок должно быть включено в архив

имя папки с 5000 подпапками имеет название «Проект»

все rar-файлы должны иметь то же имя, что и основная папка, с последовательной нумерацией: в этом случае

Project - 01.rar
Project - 02.rar
Project - 03.rar
Project - 04.rar
Project - 05.rar
etc....

и для каждого rar-файла текстовый файл, в котором перечислены содержимое rar-файла

Project - 01.txt
Project - 02.txt
Project - 03.txt
Project - 04.txt
Project - 05.txt 
etc...

Есть ли способ не делать это вручную?


person webster    schedule 26.05.2019    source источник
comment
Что вы пробовали? У вас есть версия winrar для командной строки?   -  person js2010    schedule 26.05.2019
comment
@ js2010 вот что я сделал до сих пор   -  person webster    schedule 27.05.2019


Ответы (1)


Это мой скрипт, и он работает до сих пор

param
(
    # The input folder containing the files to zip
    [Parameter(Mandatory = $true)]
    [string] $InputFolder,

    # The output folder that will contain the zip files
    [Parameter(Mandatory = $true)]
    [string] $OutputFolder
)

Set-Variable SET_SIZE -option Constant -value 10
$i = 0
$zipSet = 0

Get-ChildItem $InputFolder | ForEach-Object {
    $zipSetName = "archive" + ($zipSet + 1) + ".zip"
    Compress-Archive -Path $_.FullName -Update -DestinationPath "$OutputFolder\$zipSetName"
    $i++;

    if ($i -eq $SET_SIZE) {
        $i = 0;
        $zipSet++;
    }
}

Теперь мне нужна помощь, чтобы добавить вышеупомянутые параметры и

  • установить для ввода и вывода путь к выполняемому в данный момент скрипту powershell. В пакетном файле я бы сделал: %~d0%~p0
  • создайте папку «Готово» в основной папке и переместите все подпапки, которые уже были добавлены в архив, в «готово»
  • всегда используйте rar, если предоставляется поддержка rar, в противном случае используйте zip

Благодарность

person webster    schedule 27.05.2019