2017-05-17 19 views
0

보다 큰 경우에만 파일 목록을 사용하여 폴더 및 하위 폴더에서 파일을 복사하는 일괄 파일 데이터베이스에 Google 창고 재고 이미지가 있습니다. 이미지의 파일 이름 목록을 .txt 파일로 가져옵니다. 파일 - List.txt 파일의파일 크기가

내용은 예를 들어있을 것입니다 :

060128412948.jpg 
068912475982.jpg 
etc. 

우리는 그들의 2는 낮은 해상도이며, 그것의 1은 고해상도 이미지는 각 주식의 3 개 이미지를 가지고있다.

각 폴더의 고해상도 이미지를 폴더/하위 폴더에서 상위 디렉토리로 복사하는 스크립트가 필요합니다.

이것은 내가 지금까지 가지고 있지만 원본 대상 폴더의 파일 목록에 나열된 파일 만 복사합니다. 좀 더 강력한 방법을 달성 잠재적으로 더 나은 방법에 대해 생각하는 동안

@echo off 

set src_folder=C:\Users\jakub.parszewski\Desktop\TT\SalesOrders\NewOrder 
set dst_folder=C:\Users\jakub.parszewski\Desktop\TT\Test 
set file_list=C:\Users\jakub.parszewski\Desktop\TT\File-list.txt 

set maxbytesize=300000 

for /f "delims=" %%A in (%file_list% do set size=%%~zA 

for /f "delims=" %%f in (%file_list%) do (
    if %size% GTR %maxbytesize% 
    xcopy "%src_folder%\%%f" "%dst_folder%\" 
) 

pause 
+0

** **. **을 (를) 수행했기 때문에 ** x. copy 앞에 ** ** ** ** ** ** ** ** 추가해야합니다. 나는 파일 크기 검사가 통합되지 않은이 사이트에서'for' 루프의 예제가 없다는 것을 매우 의심 스럽습니다. – Compo

+0

더 자세히 설명해 주시겠습니까? 나는 이것에 대해 많은 경험이 없기 때문에 답을 찾는 것조차 실제로 실제로 효과가있는 것은 아무것도주지 못했습니다. 관리자가 작업을 위해이 작업을 수행하도록 요청 받았습니다. –

+0

이 사이트를 검색하거나 검색 엔진을 사용하면'for' 루프에서 파일 크기를 결정하는 많은 예제가 있습니다. 명령 프롬프트 창에'for /?'를 입력하고 출력 된 데이터를 읽을 수도 있습니다. – Compo

답변

0

, 여기에 원래의 의도와 유사한 방법을 사용하여 For 루프 예이다.

@Echo Off 

Set "src_folder=%UserProfile%\Desktop\TT\SalesOrders\NewOrder" 
Set "dst_folder=%UserProfile%\Desktop\TT\Test" 
Set "file_list=%UserProfile%\Desktop\TT\File-list.txt" 
Set "maxbytesize=3000" 

For /F "UseBackQ Delims=" %%A In ("%file_list%") Do For /F %%B In (
    'Where/T /F "%src_folder%":"%%~nxA" 2^>Nul' 
) Do If %%B Gtr %maxbytesize% Copy "%src_folder%\%%~nxA" "%dst_folder%">Nul 

Pause 

나는 기본 사본을 넘어 어떤 옵션을 사용하지 않은 당신의 XCopy 예로서 Copy를 사용했다.