일괄

2012-01-21 3 views
0

내 질문은 매우 질문에 유사한 유래에 here 게시하지만 나를 위해 차이가 나는에서 다음일괄

  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 
) 
+0

음 :

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

이미지 파일을 원하는 경우에

제한된 목록에서 촬영 된 확장자를 가지고있다. 원본 스크립트는 파일을 복사하고 이름을 바꿉니다. 파일 만 복사하려고합니다. 어떤 줄이 스크립트에서 제거되어야하는지 궁금합니다. – dbenham

+0

코드를 더 잘 읽어 주셔서 감사합니다. 원래 스크립트는 문제의 파일이 .jpg 인 것을 알고 있었지만 .csv 파일에서 해당 이름을 가진 파일을 찾아서 다른 디렉토리에 복사하려고 할 때 원했지만. – capnhud

답변

1

다음 배치 파일은 .CSV 파일은 라인 당 하나 개의 필드 포함되어 있다고 가정합니다 : 특정 디렉토리에 모든 확장자를 가진 존재 파일의, NO 확장자 이름을, , 그 파일을 다른 디렉토리에 복사합니다.

@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

첫 번째 파일은 내가 필요로하는 것을 달성하는 데 필요한 것을 대답합니다. – capnhud

0

if exist으로 파일이 있는지 확인할 수 있습니다. 루프에서 그래서 :

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

하지만 파일을 복사하는 대신 올바른 파일을 옮길 것입니까? 파일이 존재하면이 방법을 사용하여 찾은 파일의 CSV 목록을 만들 수 있습니까? – capnhud

+0

물론 가능합니다. 'echo '로 원하는 것을 인쇄하십시오. – Joey

+0

이렇게하면 다음과 같이 표시됩니다. @echo off /f "tokens = 1,2 delims ="존재하는 경우 "%% j.jpg"if 존재하는 "%% j.png"in (test.csv) do (copy "%% j.jpg", "%% j.png"c : \ mytestproject \ newimages' – capnhud