Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 根据文件名将一组文件复制到特定目录中_Windows_Filenames - Fatal编程技术网

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

Windows 根据文件名将一组文件复制到特定目录中,windows,filenames,Windows,Filenames,如何根据Windows中的每个文件名将一个文件夹中的一系列文件复制到指定的文件夹中 例如,文件: ProviderA.pdf已复制到文件夹->\ProviderA\report\ ProviderB.pdf已复制到文件夹->\ProviderB\report\ ProviderC.pdf已复制到文件夹->\ProviderC\report\ 我想遍历文件列表,从文件名减去扩展名,就可以将每个文件复制到文件名指定的文件夹中 提前谢谢你 dir /b *.pdf >foo for /f "to

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

例如,文件:

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

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

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

我想遍历文件列表,从文件名减去扩展名,就可以将每个文件复制到文件名指定的文件夹中

提前谢谢你

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

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

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

谢谢你的回复,格雷戈里。看起来这会创建目录,但不会复制文件。当我为md替换副本时,我得到:I\report此时是意外的。我错过了什么?谢谢。哦,对不起。我已经编辑了答案以给出正确的解决方案。