根据文件名将一组文件复制到特定目录中

时间:2011-10-04 16:57:29

标签: windows filenames

如何根据Windows中的每个文件名将位于一个文件夹中的一系列文件复制到指定的文件夹中?

例如文件:

ProviderA.pdf 已复制到文件夹 - > \的ProviderA \报告\

ProviderB.pdf 已复制到文件夹 - > \ ProviderB \报告\

ProviderC.pdf 已复制到文件夹 - > \ ProviderC \报告\

我想遍历文件列表,并从文件名(减去扩展名)中将每个文件复制到文件名指定的文件夹中。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

dir /b *.pdf >foo
for /f "tokens=1 delims=. " %i in (foo) do copy %i.pdf %i\report
del foo

如果目录尚不存在,请替换此命令:

for /f "tokens=1 delims=. " %i in (foo) do md %i\report&copy %i.pdf %i\report

答案 1 :(得分:0)

最简单的方法是循环浏览当前文件夹中的文件,使用文件名(不带扩展名)创建文件夹(如果它尚不存在),然后将文件复制到新文件夹中。

for %%G in (*.pdf) do (
    if not exist %%~nG md %%~nG
    copy %%G %%~nG
)