Использование FOR в командной строке: как получить каталог параметра? - PullRequest
1 голос
/ 29 июня 2011

Я пытаюсь выполнить некоторую рекурсивную работу для обработки изображений и т. Д., Они копируются в новую папку.Я указываю только корневую папку входных файлов, и внутри есть целое дерево папок и изображений.Если я запускаю приведенный ниже код, все изображения копируются в одну папку.Т.е. они теряют дерево папок.Большинство этих изображений имеют одно и то же имя, поэтому они конфликтуют, копируя их в одну папку.

Это то, что я использую для выполнения вышеупомянутого:

FOR /R "./New" %f IN (*.png) DO (pngcrush -brute -d /ProcessedTiles %f %f)

Это занимает все мои PNGв ./New обработайте их, а затем добавьте изображения в /ProcessedTiles на моем C:// диске.Очень удобно и хорошо работает.

Внутри ./New есть много каталогов, таких как ./New/5/9 с двумя изображениями и т. Д. Я хочу, чтобы можно было получить файл оттуда (./New/5/9/25.png) икогда преобразованный файл сохраняется в /ProcessedTiles/5/6/25.png вместо ./ProcessedTiles/25.png, который я получаю сейчас.

Итак, есть ли команда командной строки, подобная этой:

FOR /R "./New" %f IN (*.png) DO (pngcrush -brute -d /ProcessedTiles %f "(%f's directory)+%f")

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...