Хорошо, у меня есть более 15 000 файлов, которые мне нужно сделать.
Я пробовал это, мой корневой каталог - C:\asf> команда: for /r %x in (*.asf) do aifdump -hr "%x" "%CD%"

но файлы отправляются в мой корневой каталог и перезаписываются
Синтаксис для aifdump: aifdump.exe [Option] [ASF_path] [Texture_dump_path]. Любой метод, позволяющий решить эту проблему, подходит, даже если вы используете python или аналогичный. Спасибо за вашу помощь

Вот пример, если вам это нужно для работы: http://www.mediafire.com/?e9jwa3tkedilcy5

спасибо за вашу помощь Майкл и Боб. когда я запускаю команду, она делает это

C:\asf>for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"

C:\asf>aifdump -hr "C:\asf\9\0.asf" "C:\asf\9\0"

Texture 0.dds : 2.00 KB

и тогда aifdump потерпит крах. я узнал, что если я сделаю выходную папку раньше

запустив команду, она будет работать так, как бы я переделать команду, чтобы сделать

каталоги, необходимые перед запуском команды для aifdump.

Я понял это, я просто должен был изменить aifdump -hr к mkdir

еще раз спасибо за вашу помощь

2 ответа2

0

Итак, я думаю, вы хотите, чтобы выходной путь был в том же месте, что и исходный файл?

for /r %x in (*.asf) do aifdump -hr "%x" "%~dpx"

%~ - это специальный модификатор, см. for /? , Если %x - это C:\asf\blah\bleh\file.asf: dp указывает диск (C::) и путь (\asf\blah\bleh\), делая C:\asf\blah\bleh\ .

0

%CD% всегда будет возвращать каталог, в котором вы находились, когда запускали команду; в данном случае это C:\asf '. Если я интерпретирую то, что вы спрашиваете, вы хотите, чтобы каждый из них помещался в отдельный каталог? Если это так, вам просто нужно создать это имя каталога в вашей команде.

Обратите внимание, однако, что вы не можете иметь файл и папку с одинаковым именем и одинаковым родительским путем; например, если у вас есть файл с именем C:\asdf\asdf.asf , вы также не можете создать папку с именем C:\asdf\asdf.asf поскольку путь будет неоднозначным.

Самый простой вариант будет сдирать расширение файла, for которого команды может сделать для вас:

for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"

ПРИМЕЧАНИЕ. %~dpnx - это объединение трех модификаторов, в котором привод, путь и имя (без расширения) имени файла содержатся в переменной x.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .