批处理文件使用目录名称的一部分进行移动和重命名

时间:2017-05-29 23:26:32

标签: regex loops copy batch-rename

我已经阅读了几个批量重命名的答案,并且还没有让它们适用于我的应用程序。我的正则表达式和循环技巧很弱。

我需要移动许多具有相同名称的文件,让我们从具有半唯一名称的目录中说出non_unique_file.txt,例如'目录#1 /'或者'目录#2 /'到了'non_unique_files /'目录,同时修改其名称,使其包含原始目录中的唯一标识符。如果我只移动一个文件,它看起来像:

cp Directory#1/non_unique_file.txt non_unique_files/#1.txt

我尝试了几个循环,例如:

for f in Directory* ; do cp $f/*txt non_unique_files/$f ; done

知道这不是我所需要的,但我不知道如何解析原始目录名称并将其添加到新目录中的新文件名中。

任何帮助/资源都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

想出来。不确定这是如何工作但它的工作原理。

for f in Directory* ; do cp $f/non_unique_file.txt non_unique_files/$f"".txt"" ; done

我的文件在我的non_unique_files /目录中重命名为'Directoy#X.txt'。