2014-11-09 3 views
0

폴더 A의 모든 파일을 폴더 B (루프)의 모든 파일과 비교할 프로그램을 찾고 프로그램이 파일이 동일하면 파일을 이동합니다 폴더 A에서 폴더 C로, 폴더 B에서 폴더 D로 하나는 폴더 A와 B에 차이가있는 파일 만 남깁니다.COMP + MOVE 프로그램

아래 프로그램은이 중 90 %를 수행하며 아주 간단합니다. 필자가 아직 쓸 수 없었던 코드는 폴더 B와 비교하여 이동 한 파일을 참조하는 방법을 얻지 못했기 때문에 폴더 B에서 폴더 D로 이동하는 것입니다.

@echo off 

FOR %%G IN ("C:\USERS\YOUL\AUTOMATION\FOLDER_A\*.xlsx") DO (
    Echo N | COMP %%G "C:\USERS\YOUL\AUTOMATION\FOLDER_B\*.xlsx" 
    IF NOT ERRORLEVEL 1 (
      MOVE %%G "C:\USERS\YOUL\AUTOMATION\FOLDER_C" 
    ) 
) 

파일이 다른 경우 예를 들어,이 코드 (즉, 자신의 폴더 중 (안)) 아무것도하지 않고, 폴더 B.에서 Test.xlsx와 폴더 A에서 Test.xlsx을 비교해야한다. 파일이 동일하면 MOVE Test.xlsx에서 FOLDER A -> FOLDER C (코드로 처리됨) 및 FESTER B -> FOLDER D (이것은 내 문제 영역 임)에서 MOVE Test.xlsx로 이동하십시오.

내 PoV에서 - 프로그램에서 %% G를 (를) 폴더 B를 참조하는 방법을 알고있는 것처럼 보이지 않습니다. 그래서이 시도를했을 때 전체 폴더 B를 폴더 D로 이동시킬 수있었습니다. 필요.

희망 정보를 충분히 제공했습니다. 나는 쉬운 솔루션을 찾고 있는데, 내가 믿는 그런 간단한 작업에는 복잡한 것이 필요하지 않습니다.

감사합니다.

답변

0

내가이가하는 경우, 당신이 원하는 무엇을, 어쩌면 당신이 그것을 시도 100 % 확실하지 않은 줄 수있어 그럼에도 불구하고 도움이?

@ECHO OFF 
:Firstline 
SET FOLDERA=C:\USERS\YOUL\AUTOMATION\FOLDER_A 
SET FOLDERB=C:\USERS\YOUL\AUTOMATION\FOLDER_B 
SET FOLDERC=C:\USERS\YOUL\AUTOMATION\FOLDER_C 
SET FOLDERD=C:\USERS\YOUL\AUTOMATION\FOLDER_D 

FOR %%G IN ("%FOLDERA%\*.xlsx") DO (
    ECHO N | COMP "%%~G" "%FOLDERB%\%%~nxG" 
    IF NOT ERRORLEVEL 1 (
     MOVE "%%~G" "%FOLDERC%\%%~nxG" 
     MOVE "%FOLDERB%\%%~nxG" "%FOLDERD%\%%~nxG" 
    ) 
) 

CHOICE /C YN /M "Continue?" /T 5 /D Y 
IF ERRORLEVEL 2 GOTO :EOF 
IF ERRORLEVEL 1 GOTO :Firstline 

편집 : 지금이 스크립트 수도 루프 - 5 초 - 일시 정지와. "/T"이후의 값을 변경하여 일시 중지를 수정할 수 있습니다.

+0

바바 (BaBa) -이 말이 아주 훌륭하다고 말해야합니다. 당신은 질문 한 것을 정확히 커버하는 이해하기 쉽고 단순한 것을 제공했습니다. 이것에 대해 많은 감사를드립니다! 나는 아마 당신이 솔루션을 어떻게 생각해 냈는지 이해하는 데 약간의 시간을 할애하여 적어도이 것을 배울 수 있어야합니다. – Youl

+0

고마워요. :) 천만에요. 언제든지 답변으로 표시해주세요 :) – BaBa

0

"doublekiller"웹 검색 이 Little Programm은 파일 이름 또는 크기와 체크섬 만 비교할 수 있습니다. 분석 후 먼저 복식을 확인하고 이동, 당신이 마지막 복식을 확인하고 그들에게이 일부 수동 작업을 포함 할 물론

를 이동할 수 있습니다 후,하지만

그것이

도움이되기를 바랍니다 작업을 할 것입니다 수 있습니다

편집 : 죄송합니다 그냥 당신이 배치 파일이 필요 보았지만, 어쩌면

+0

감사합니다. Mech. 나는 그것을 선내에 가져 가서이 프로그램을 점검 할 것입니다. 옵션이 있으면 좋겠지 만, 나는이 코드를 어떤 경우 에든 개발하려고 노력할 것입니다. 감사! – Youl