繁体   English   中英

从Windows命令行自动复制文件

[英]Automate file copying from Windows command line

假设您有100个目录,对于每个目录,都有一个名为.pdf的文件存储在其他位置。 如果要将每个文件移动/复制到相同名称的目录中,可以在Windows命令行上执行此操作吗?

这是一个批处理脚本,可能会满足您的要求:

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

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

endlocal

您可以使用FOR命令执行此操作 符合:

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

如果在文本文件中有完整路径的文件名列表,例如files.txt,您也可以

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

在命令行中:

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

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

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

复制前的@会停止每个复制命令的回显。 您可以根据自己的喜好来回应它们。

%〜nxf获得%f的名称和扩展名。 (请参阅电话/?)

您将需要编写脚本来遍历每个文件(及其路径),提取文件名-.pdf,然后将文件移至同名目录

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM