WinZip, 7zip, Winrar Командная строка для сжатия структуры папок

У меня есть Windows Server 2008R2, который имеет большой общий доступ к видеофайлам, мне нужно запустить командную строку zip в пакетном скрипте, который будет:

а) Сжать / сжать каждый видеофайл внутри каждой папки с соответствующим именем файла
б) затем сжать / сжать каждую папку с соответствующим именем
в) сохранить исходную структуру папок
d) затем заархивируйте всю структуру в один zip-файл, содержащий всю структуру папок и видео-файлы внутри нее.

это вообще возможно? Могу ли я использовать любую из вышеперечисленных программ через командную строку для пакетной обработки / powershell?

Сервер имеет 8 ГБ ОЗУ с процессором Core i3.

Буду благодарен за ваши предложения и помощь

2 ответа

Решение

Предположим, что имя каталога \ video.
Создайте командный файл со следующими строками:

for /r \video %%a in (.) do @zip.exe -m "%%~pa\video" "%%~pa\*"
zip.exe -m -r Allvideo "\video\*"

Это создаст окончательный архив с именем allvideo.zip со структурой каталогов mirroring \ video. Там, где когда-то находились видеофайлы, можно найти video.zip.

Для этого примера я использовал утилиту Zip, которая находится по адресу: http://www.info-zip.org/Zip.html

У вашего сервера достаточно мощности для этого, но вам может понадобиться следить за дисковым пространством. Я могу получить сокращение размера ~5% только за счет сжатия видеофайла.

7zip поставляется с 7z.exe, который можно использовать в командной строке или в сценариях. Тем не менее, вам придется использовать скрипт, чтобы выполнить архивацию структуры папок, которую вы хотите. Я сделал нечто подобное, архивируя файлы журнала по месяцам, а затем по годам. Это не красиво, но я могу опубликовать сценарий, если вы хотите его увидеть.

Другие вопросы по тегам