좋습니다. 이 작업을 수행해야 하는 파일이 15,000개 이상 있습니다.
나는 이것을 내 루트 디렉토리에 시도했습니다 C:\asf>
. 명령은 다음과 같습니다.for /r %x in (*.asf) do aifdump -hr "%x" "%CD%"
하지만 파일이 내 루트 디렉터리로 이동하고 있으며
aifdump의 구문을 덮어쓰고 있습니다. aifdump.exe는 [옵션] [ASF_path] [Texture_dump_path]입니다. Python이나 이와 유사한 것을 사용하더라도 이 문제를 해결하는 방법은 괜찮습니다. 도움을 주셔서 감사합니다.
작업에 필요한 경우 샘플은 다음과 같습니다.http://www.mediafire.com/?e9jwa3tkedilcy5
Michael과 Bob의 도움에 감사드립니다. 명령을 실행하면 이렇게 됩니다
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\