创建具有相同名称的新子文件夹并将文件移动到新文件夹

时间:2017-07-30 00:32:43

标签: windows batch-file

我需要你的帮助来完成一个Windows批处理(.cmd)文件,根据父文件夹名称创建一个新文件夹,并将一些文件移动到新文件夹。

(目录名和/或文件名总是不同的,可能有空格或点)

我设法根据当前的dir名称创建了文件夹,但我无法想象如何将文件移动到新文件夹。我在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

1 个答案:

答案 0 :(得分:1)

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

&级联命令。

(未测试的)

请不要将符号用作元变量 - 只记录alpha(并且可能支持) *,许多其他符号对批处理具有特殊意义。