为 directory/subdirectories 中的所有文件添加根文件夹前缀
Add prefix of root folder to all files in directory/subdirectories
所以我有一堆类似这样的目录(但有更多文件):
1-0
file1
file2
folder
file 3
1-1
file1
file2
folder
file 3
etc.
正如问题所问,我想将 1-0、1-1 作为根文件夹的目录和子目录中的所有“文件”的前缀,如 1-0 等。如下所示:
1-0
1-0file1
1-0file2
folder
1-0file 3
1-1
1-1file1
1-1file2
folder
1-1file 3
etc.
我尝试了一些 cmd/batch 来自其他问题和 ReNamer 的解决方案,但我找不到任何完全符合我要求的解决方案。对这类东西非常缺乏经验,所以我肯定会错过一些东西。
ReNamer 我可以做到,但我必须单独完成每个目录,而且我有相当一部分正在尝试重命名,所以这有点不切实际。
总的来说,我会发现这是一个非常糟糕的想法...我无法想象从长远来看这可能真的是个好主意的情况。原因之一是它只是复制了文件名本身中位置的结构信息。为什么?...
在 linux shell 上当然有多种方法可以实现这一点。这是一个班轮:
find . -type f -name "*" | xargs -n 1 -I {} sh -c 'file_full={}; file_bare=${file_full#./}; file=${file_bare##*/} prefix=${file_bare%%/*}; dir=${file_bare%/*}; echo mv ${file_full} ./${dir}/${prefix}${file}'
注意,最终输出中有一个echo
。仅当您对解决方案非常满意并希望执行此解决方案时才删除 echo
。
所以我有一堆类似这样的目录(但有更多文件):
1-0
file1
file2
folder
file 3
1-1
file1
file2
folder
file 3
etc.
正如问题所问,我想将 1-0、1-1 作为根文件夹的目录和子目录中的所有“文件”的前缀,如 1-0 等。如下所示:
1-0
1-0file1
1-0file2
folder
1-0file 3
1-1
1-1file1
1-1file2
folder
1-1file 3
etc.
我尝试了一些 cmd/batch 来自其他问题和 ReNamer 的解决方案,但我找不到任何完全符合我要求的解决方案。对这类东西非常缺乏经验,所以我肯定会错过一些东西。 ReNamer 我可以做到,但我必须单独完成每个目录,而且我有相当一部分正在尝试重命名,所以这有点不切实际。
总的来说,我会发现这是一个非常糟糕的想法...我无法想象从长远来看这可能真的是个好主意的情况。原因之一是它只是复制了文件名本身中位置的结构信息。为什么?...
在 linux shell 上当然有多种方法可以实现这一点。这是一个班轮:
find . -type f -name "*" | xargs -n 1 -I {} sh -c 'file_full={}; file_bare=${file_full#./}; file=${file_bare##*/} prefix=${file_bare%%/*}; dir=${file_bare%/*}; echo mv ${file_full} ./${dir}/${prefix}${file}'
注意,最终输出中有一个echo
。仅当您对解决方案非常满意并希望执行此解决方案时才删除 echo
。