CMD - 批量使用覆盖将多个文件夹重命名为一个文件夹名称

时间:2016-05-21 20:49:21

标签: batch-file cmd rename directory

我想将多个文件夹重命名为一个文件夹名称。

对于示例批处理文件:

G: cd\TV Series for /D %%f in (Game.of.Thrones.S01*) do rename "%%f" "Game of Thrones"

该文件需要覆盖作为文件夹名称“权力的游戏”已经存在,有没有办法做覆盖命令? 请参阅以下内容:

for /D %%f in (Game.of.Thrones.S01E01.HDTV.x264-tvseries[xxx]*) do rename "%%f" "Game of Thrones"

for /D %%f in (Game.of.Thrones.S01E02.HDTV.x264-tvseries[xxx]*) do rename "%%f" "Game of Thrones"

for /D %%f in (Game.of.Thrones.S01E03.HDTV.x264-tvseries[xxx]*) do rename "%%f" "Game of Thrones"

X个文件夹到1个文件夹名称。

在批处理文件中,它应将所有文件夹重命名为一个文件夹。如果文件夹已经存在,我该怎么办?如何在主文件夹上运行覆盖“/ y”,如果文件夹包含子文件&文件夹允许覆盖?

2 个答案:

答案 0 :(得分:0)

我不确定你是否需要一个批处理文件,而且我也不确定你想要的解决方案应该有多灵活,但是如果它只是关于这个例子:你可以做一个Windows搜索将找到所有文件(可能通过搜索名称和扩展名来排除文件夹)。然后,您可以选择所有这些文件并将其拖动到所需的文件夹中。

收到评论后:但也会有自动化方式。您可以创建一个文本文件,每行一个系列名称。然后你可以遍历文件:

foo:bar:

然后在%% s中会有节目的名称。有了它,您可以为该节目创建一个文件夹名称列表,其中通配符表示必须有更多字符而不仅仅是节目名称:

 FOR /F %%s IN ('type serieses.txt') DO (whatever)

现在您也可以循环该文件,输入目录复制所有内容并再次保留,大致如下所示:

 DIR %%s* > one_series.txt

答案 1 :(得分:0)

您好我找到了答案。

我终于花了2天时间!

for /D %%f in (Game.of.Thrones.S*) do ROBOCOPY "%%f" "Game of Thrones" /MOVE

感谢大家的帮助