如何在命令提示字元中建立與檔案同名的資料夾(遞歸子資料夾)

如何在命令提示字元中建立與檔案同名的資料夾(遞歸子資料夾)

好吧,我有 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

感謝邁克爾和鮑勃的幫助。當我運行命令時它會執行此操作

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 -hrmkdir

再次感謝您的幫助

答案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 /?。如果%xC:\asf\blah\bleh\file.asf:dp表示磁碟機( C:) 和路徑( \asf\blah\bleh\),使得C:\asf\blah\bleh\.

相關內容