如何根据目录和子目录中的txt文件复制和重命名文件

时间:2014-04-04 09:20:42

标签: batch-file batch-rename

我制作了一个批处理文件,允许我根据txt或csv文件复制和重命名(按此顺序)文件。在第1列中,有原始文件名,在第2列中有新名称。这允许我只复制和重命名我需要的文件。

它工作得非常好,但它有一个限制:现在我只能从一个目录,主目录中复制文件。我希望能够只复制文件,如果它们在主要或其子目录中。换句话说,它应该搜索主目录和子目录中的文件。

代码下方:

for /f "tokens=1,2 delims=," %%j in (basefile.txt) do (
copy "%%j" destinationfolder/%%k
)

我已经看过并试过与/ r或/ s等组合。

这可能是一些简单的补充,但我无法弄清楚...... 感谢

1 个答案:

答案 0 :(得分:0)

这应该将文件夹树中的文件复制到目标。

如果filespec不是唯一的,那么错误匹配是不可能的,如果文件名不够具体,也可以在短文件名中进行匹配。

@echo off
for /f "tokens=1,* delims=," %%j in (basefile.txt) do (
 for /r "d:\base\folder"  %%a in ("%%j") do (
    copy "%%a" "d:\destinationfolder\%%k"
 )
)