在命令提示符( 递归子文件夹) 中,如何创建与文件具有相同 NAME的文件夹

分享于 

3分钟阅读

电脑

  繁體 雙語

问题:

好的,我需要 15,000个文件,我需要这样做。
我尝试了我的root 目录是 C:asf> 命令是: for/r %x in (*.asf) do aifdump -hr"%x""%CD%"

但是这些文件将进入我的root 目录并被覆盖
如果你使用了或者类似的感谢,那么任何修复这个问题的方法都可以使用 aifdump.exe [Option] [ASF_path] [Texture_dump_path] 来解决这个问题

下面是一个示例,如果你需要使用它,请执行以下操作: http://www.mediafire.com/?e9jwa3tkedilcy5

感谢你的帮助Michael和 Bob。 当我运行命令时,它执行

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

C:asf>aifdump -hr"C:asf9.asf""C:asf9"

Texture 0.dds : 2.00 KB

然后aifdump会崩溃。 我发现如果我在输出文件夹之前

运行命令它将工作,因此我如何重新编写命令来做

运行aifdump命令之前所需的目录。

我想出来了我得把 aifdump -hr 改成 mkdir

再次感谢你的帮助


回答 1:

%CD% 总是在运行命令时返回当前的目录;在本例中,是 C:asf"。 如果我解释你所问的内容,你想让每个人都进入一个单独的目录? 如果这样,你只需要在命令中构建那个目录 NAME。

但如果文件和文件夹具有相同的NAME 路径,则不能创建文件夹,例如如果你有名为 C:asdfasdf.asf的文件,则无法创建名为 C:asdfasdf.asf的文件夹,因为该路径不明确。

最简单的选项是去除文件扩展名,for 命令可以为你执行以下操作:


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



注意:%~dpnx 是三个修饰符的串联,并给出变量x 中包含的文件 NAME的驱动器。路径和 NAME ( 没有扩展名)。


回答 2:

因此,我想你希望输出路径与源文件位于相同的位置?


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



%~ 是一个特殊修饰符,请参见 for/?。 如果 %xC:asfblahblehfile.asf: dp 表示驱动器( C: ) 和路径( asfblahbleh ),则使 C:asfblahbleh



COM  文件  COMM  Comma  MAKE  FOLD