Хорошо, у меня есть более 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
еще раз спасибо за вашу помощь
решение1
%CD%
всегда будет возвращать каталог, в котором вы были текущим, когда выполняли команду; в данном случае это C:\asf
'. Если я правильно понимаю то, что вы спрашиваете, вы хотите, чтобы каждый из них попал в отдельный каталог? Если так, вам просто нужно создать это имя каталога в вашей команде.
Однако обратите внимание, что выне могуесть файл и папка с одинаковым именем и одинаковым родительским путем; например, если у вас есть файл с именем C:\asdf\asdf.asf
, выне могутакже создайте папку с именем, C:\asdf\asdf.asf
поскольку путь будет неоднозначным.
Самый простой вариант — удалить расширение файла, что for
за вас может сделать следующая команда:
for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"
ПРИМЕЧАНИЕ: %~dpnx
представляет собой объединение трех модификаторов и задает диск, путь и имя (без расширения) файла, содержащегося в переменной x.
решение2
Итак, я полагаю, вы хотите, чтобы выходной путь находился в том же месте, что и исходный файл?
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\
.