Пакет, чтобы найти файл, скопировать файл в другой каталог - PullRequest
0 голосов
/ 21 января 2012

Мой вопрос очень похож на вопрос, опубликованный здесь на stackoverflow, но для меня разница в том, что мне нужен пакетный скрипт, чтобы сделать следующее

  1. Посмотрите на CSVфайл с именем только без расширения изображения и найдите изображение с этим именем в определенном каталоге
  2. Затем возьмите этот файл и скопируйте его в другой каталог

Какие изменения я бынужно сделать с этим пакетным сценарием для выполнения этой задачи?

 @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 ]

1 голос
/ 22 января 2012

В следующем пакетном файле предполагается, что файл .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"
)
0 голосов
/ 22 января 2012

Вы можете проверить наличие файла с помощью if exist.Итак, в вашем цикле:

if exist "%%j.jpg" copy "%%j.jpg" target
if exist "%%j.png" copy "%%j.png" target
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...