Ну что ж...
Ваш пример ... крайне далек от поставленной задачи. И ваша фраза:
Цитата alpap:
(не важно - есть обработка по сжатию JPG файлов,) - »
|
говорит об отсутствии желания прочитать кусок
рабочего кода и понять что именно нужно модернизировать.
С целью исключения детской переписки где каждый пытается показать себя грамотеем и предложить вариант из своей шкатулки я вставил кусок рабочего кода с фрагментом который необходимо модернизировать, о чем детально изложил.
Цитата nexochyka:
echo off
Set Int2Dir="c:\NConvert\тест 1"
Set Rsz2Dir="c:\NConvert\тест 2"
::Обходим файлы
For /R %Int2Dir% %%I In (*.jpg) Do (
::Извлекаем имена дополнительных директорий
set mystr="%%~dpI"
set mystr="%mystr:%Int2Dir%=%"
::Сжимаем файлы
nconvert -ratio -rtype lanczos -rflag decr -rflag orient -resize 1920 1200 -o "%Rsz2Dir%\%mystr%\__r_%%" "%%~I"
) »
|
Если бы стояла задача в тупую перебрать директории я бы использовал аналогичный вашему вариант, задача стоит в перемещении файлов по директориям (с учетом произвольных) рекурсивно (For /R).
Но все равно спасибо за проявленный интерес.
Проблема не решена.
Цитата alpap:
это не совместимо логично
теоретически можно вытащить именно имена, но во-первых может быть и совпадение, а даже если и нет, какой смысл наблюдать использовать имя одного и того же списка папки уровнями двумя ниже. »
|
Для понимания, это фото архив разных объектов и ситуаций сортируемый по дате создания снимка, объекту и ситуации.
В настоящий момент складирование осуществляется в единую папку (гггг/мм/дд) разделение осуществляется по имени файла (гмд_чмс_имяфайла_пользователь) на основании информации из exif, после чего недостающие директории создаются ручками.