批量查找文件,将文件复制到另一个目录

时间:2012-01-21 19:21:38

标签: csv batch-file copy

我的问题非常类似于在stackoverflow上发布here的问题,但我的不同之处在于我需要批处理脚本来执行以下操作

  1. 查看一个名称中没有图片扩展名的csv文件,并在特定目录中找到具有该名称的图片
  2. 然后将该文件复制到另一个目录
  3. 我需要对此批处理脚本进行哪些修改才能完成该任务?

     @echo off 
     for /f "tokens=1,2 delims=," %%j in (project.csv) do ( 
       copy "%%j.jpg" c:\mytestproject\newimages 
       rename c:\mytestproject\newimages\%%j.jpg" %%k.jpg 
     )
    

2 个答案:

答案 0 :(得分:1)

以下批处理文件假定.CSV文件每行只包含一个字段:在特定目录中存在的具有任何扩展名的文件的名称(无扩展名),因此它将该文件复制到另一个目录

@echo off
set "theDir=C:\The\Particular\Directory"
for /F "delims=" %%f in (theFile.csv) do (
   copy %theDir%\%%f.* "C:\another\Directory"
)

如果您希望图片文件的扩展名来自有限列表:

@echo off
set "theDir=C:\The\Particular\Directory"
for /F "delims=" %%f in (theFile.csv) do (
   for %%e in (jpg png) do (
      if exist "%theDir%\%%f.%%e" copy "%theDir%\%%f.%%e" "C:\another\Directory"
)

答案 1 :(得分:0)

您可以使用if exist检查文件是否存在。所以在你的循环中:

if exist "%%j.jpg" copy "%%j.jpg" target
if exist "%%j.png" copy "%%j.png" target