Как пакетное сжатие подпапок?

0

Я на Windows Server 2012 R2. У меня есть каталог, который выглядит так:

Folder01
    Subfolder 1
        File1
        File2
        File3
    Subfolder 2
        File1
        File2
    Subfolder 3
        File1
        File2
        File3
Folder02
    Subfolder 1
        File1
        File2
        File3
    Subfolder 2
        File1
        File2
    Subfolder 3
        File1
        File2
        File3
Folder03
    Subfolder 1
        File1
        File2
        File3
    Subfolder 2
        File1
        File2
    Subfolder 3
        File1
        File2
        File3

Конечный результат должен выглядеть так:

Folder01
   SubFolder 1.zip
   Subfolder 2.zip
   Subfolder 3.zip
Folder02
   SubFolder 1.zip
   Subfolder 2.zip
Folder03
   SubFolder 1.zip
   Subfolder 2.zip
   Subfolder 3.zip

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

Ruriko
источник
Привет, войдите в корневую папку (родительская папка) и выберите все подпапки, которые находятся в корневой папке. Теперь выберите все корневые папки, используя Ctrl + A. Затем щелкните правой кнопкой мыши и выберите параметр «Отправить в -> сжатую (сжатую) папку».
vembutech
это не будет работать, потому что у меня есть несколько родительских папок, и я хочу сжать каждую подпапку в нескольких родительских папках
Ruriko
Возможно, вам следует составить диаграмму того, как должен выглядеть результат, чтобы помочь нам всем.
mdpc
@mdpc Я обновил свой пост
Ruriko

Ответы:

0

Попробуйте этот пакетный скрипт на небольшом подмножестве фактических данных или протестируйте его с некоторыми фиктивными данными. При необходимости замените пути. Для этого вам нужно установить WinRAR.

@echo off
SET PATH=%PATH%;C:\Program Files\WinRAR
FOR /L %%G IN (1,1,3) DO (
CD Q:\FOLDER%%G
FOR /D /R %%G IN ("*") DO (
ECHO This is %%G
WINRAR a -afzip -df %%G %%G
)
)
pause
Dhiwakar Ravikumar
источник