Пакетный файл. 7Zip папка с фотографиями и имя выводится как номер задания

Во-первых, я не очень знаком с продвинутым программированием. Я следовал за примерами, пробами и ошибками, иногда с неправильным результатом.

Я не спал половину ночи, пытаясь заставить это работать, и был так близко, но не совсем там. В основном у меня есть структура папок, как это. НОМЕР РАБОТЫ / Фотографии В папке с фотографиями есть 2 подпапки Hi-Res и Low-Res

Мне нужен bat-файл в папке "Фото", который будет архивировать только JPG в папке "Low-Res", затем назовите выходной zip-файл как "JOB NUMBER" - "Photos.zip" и сохраните его в папке "фото".

Вдобавок к этому, как только у меня это заработало, мне нужно ограничить размер zip-файлов. Они должны быть не больше, чем 6 МБ, поэтому, если им нужно разделить простое число 01 02 .... Может быть добавлено к имени почтового индекса. Я кратко увидел, что вы можете разделить вывод по размеру, но не зашел так далеко!

Любая помощь будет спасением жизни!

ОБНОВИТЬ

Мой код пока что.

for %%A in ("%%~dp0\..") do 7z a -tzip "%%~fA-Photos.zip" "Low-Res"

ОБНОВЛЕНИЕ @JonathonReinhart При этом содержимое в низком разрешении заархивируется и сохраняется обратно в папку низкого разрешения, что будет хорошо. Я просто не могу получить имя в файле zip. На данный момент он сохраняется как Photos-Photos.zip

for %%A in ("Low-res\Photos") do 7z a -tzip "%%~fA-Photos.zip" "Low-Res"

1 ответ

Решение

Проверьте это в папке с фотографиями.

@echo off
for %%z in ("%cd%") do (
   for %%a in ("%%~dpz%\.") do (
      7z a -tzip "%%~nxa-%%~nxz.zip" "Low-Res\*" 
   )
)
pause
Другие вопросы по тегам