Windows通过动态命名将文件批量复制到所有子文件夹

时间:2015-08-17 18:47:04

标签: windows batch-file

我的文件夹中有一个文件foo.txt,文件夹中有许多带文件夹名称的子文件夹:

\15611_Ants
\12866_Boats
\13898_Cats
...

我想将foo.txt复制到匹配##### _ NAME的每个子文件夹,将其重命名为" ##### foo.txt"在每个文件夹中。所以我会:

foo.txt -> \15611_Ants\15611 foo.txt
foo.txt -> \12866_Boats\12866 foo.txt
foo.txt -> \13898_Cats\13898 foo.txt
...

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码段完成此操作:

for %%F in ("\full\path\to\file\foo.txt") do (
  for /D %%D in ("\full\path\to\folder\containing\subfolders\?????_*") do (
    for /F "tokens=1 delims=_" %%N in ("%%~nD") do (
      copy "%%~fF" "%%~fD\%%N %%~nxF"
    )
  )
)