2011-10-04 66 views
0

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

例如,该文件:

ProviderA.pdf复制到资料夹,> \的ProviderA \报告\

ProviderB.pdf复制到资料夹,> \ ProviderB \报告\

ProviderC.pdf复制到文件夹 - > \ ProviderC \ report \

我想遍历li st文件和文件名(减去扩展名)能够将每个文件复制到由文件名指定的文件夹中。

预先感谢您!

回答

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 
+0

感谢您的回复Gregory。它看起来像创建目录但不复制文件。当我将md替换为我时:我\报告在这个时候是意外的。我错过了什么?谢谢。 – user978891

+0

哎呀,对不起。我编辑了答案以提供正确的解决方案。 –

0

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

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