2017-07-30 98 views
0

我需要您的帮助才能完成Windows批处理(.cmd)文件,以便根据父文件夹名称创建新文件夹并将某些文件移动到新文件夹中。创建具有相同名称的新子文件夹并将文件移动到新文件夹

(包括目录名和/或文件名称将永远不同,可以有空间字符或点)

我设法创建的文件夹基于当前目录的名字,但我无法弄清楚如何将文件移动到新的文件夹。我在Total Commander的一个按钮中使用它,这是部分工作。

我不是程序员,只有批次的基本知识。我正在搜索大量的例子并尝试,但我找不到方法。 在此先感谢。

我有这样的:

D:\Artist - Album\ <--- current start path 
    ├──01-track1.wav 
    ├──01-track1.flac 
    ├──02-track2.wav 
    ├──02-track2.flac 

运行该行基于父名成功创建子文件夹: “艺术家 - 专辑(FLAC)”

for %%* in (.) do md "%%~n* (FLAC)" 

结果:

D:\Artist - Album\ 
    ├───\Artist - Album (FLAC)\ <--- new folder OK! 
    ├─01-track1.wav 
    ├─01-track1.flac 
    ├─02-track2.wav 
    ├─02-track2.flac 

我想要的是将.flac文件移动到新文件夹内,如下所示:

D:\Artist - Album\ 
    ├───\Artist - Album (FLAC)\ ┐ 
    │ ├─01-track1.flac   ├ ? 
    │ └─02-track2.flac   ┘ 
    ├─01-track1.wav 
    └─02-track2.wav 
+0

'md“%cd%(FLAC)”&move * .flac“%cd%(FLAC)”' – Aacini

回答

1
for %%a in (.) do md "%%~na (FLAC)"&move "*.flac" ".\%%~na (FLAC)\" 

&级联命令。

(未经测试)

请不要使用符号元变量 - 只阿尔法都记录(可能支持)*和许多其他的符号有特殊含义批次。

+0

您可以在技术上使用任何128个基本ASCII字符作为元变量,但只建议使用字母。 – SomethingDark

+0

经过测试,它完美的工作!感谢 并感谢您的推荐;) – tripfog

相关问题