2008-10-09 41 views
1

假设您有100个目录,并且每个目录都有一个名为.pdf的文件存储在别的地方。如果您想将每个文件移动/复制到具有相同名称的目录中,可以在Windows命令行上完成吗?从Windows命令行自动复制文件

+0

是powershell的一个选项? – Oli 2008-10-09 09:59:28

回答

0

你需要编写一个脚本,通过每一个文件迭代(和它的路径),提取文件名 - 然后将文件移动到同名的目录

2

你可以做到这一点“PDF”。使用FOR command。东西线:

for /f %%f in ('dir /s /b c:\source\*.pdf') do copy "%%f" c:\target 

如果你有文件名w的文本文件/完整路径的名单,说files.txt,你也可以做

for /f %%f in (files.txt) do copy "%%f" c:\target 
4

这是一个批处理脚本,可能你想要做什么:

setlocal 
set target_dir=D:\ 
set source_dir=C:\WINDOWS 

for %%i in (%source_dir%\*.pdf) do move %%i %target_dir%\%%~ni.%%~xi 

endlocal 
2

在命令行:

for /f %f in ('dir /s /b mypath\*.pdf') do @copy %~nxf myotherpath 

因为它在命令行而不是批处理文件中,所以只需要%,而不是%%。

dir/s/b是递归且裸露的。 (请参阅目录/?)

复制之前的@停止每个复制命令的回显。你可以回应他们,如果你喜欢,取决于你。

%〜nxf获取%f的名称和扩展名。 (看电话/?)

相关问题