2017-03-29 7 views
1

Windows 7이 설치된 HDD에서 파일을 복구했습니다. 이제 수천 개의 파일과 폴더가있는 폴더에 난 엉망이 있습니다. 배치 코딩에 대해 많이 알지는 못하지만 아래에 갈 수있는 일부 YouTube 동영상을 보면서 그 배치 파일은 현재 폴더에서 배치를 실행하는 파일 만 찾습니다. 내부의 폴더를보고 싶습니다.movin * .doc, * .pdf 등의 재귀 적 배치 파일

@echo off 

move /y "*.xml" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\xml" 

move /y "*.pdf" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\documentos" 

move /y "*.cat" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\cat" 

move /y "*.dll" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\dll" 

답변

0

봐 이것 해당 폴더 내 나쁜 영어 때문에 .. 죄송합니다 :

@echo off 
for /R %temp% %%f in (*.*) do (
echo %%f) 

여기서 for 루프는 "/ R"매개 변수로 볼 수 있습니다. "/ R"은 루프를 재귀 적으로 만들어 하위 폴더에서도 찾습니다.

-1
@echo off 
SETLOCAL 
for /D /R %%a in (*) do (
pushd "%%a" 
move /y "*.xml" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\xml" 
move /y "*.pdf" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\documentos" 
move /y "*.cat" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\cat" 
move /y "*.dll" "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\dll" 
popd 
) 

소스의 모든 디렉토리에서 일련의 명령을 실행해야합니다.

SETLOCAL은 선택 사항입니다. 목욕이 끝나면 환경에 대한 변경 사항이 모두 삭제됩니다. 이 경우에는 아무 것도 없지만 상관없이 일반적인 관행입니다.

for /d 명령어는 마스크 *과 일치하는 각 디렉토리 이름을 차례로 %%a으로 할당합니다. pushd은 일시적으로 기본 디렉토리를 해당 이름으로 설정하고 move 명령어가 실행되고 popd은 원래 디렉토리를 복원합니다.

비록 파일 x.ext이 두 번 이상 발견되면 그 이름을 가진 마지막 파일이 옮겨져 다른 파일을 대체한다는 것을 기억하십시오.

아마도

xcopy /s *.xml "D:\backUP_arqui\Recovered data 03-10 20_23_41\Deep Scan result\" 

도움이 될 수 있습니다. 모든 .xml 파일을 원본에서 대상으로 복사하여 원본 디렉터리 아래에있는 대상 디렉터리 아래에 동일한 디렉터리 구조를 만듭니다. 그렇게하면 복제 된 이름이있는 경우 원본 파일의 복사본을 얻을 수 있습니다. 분명히 필요한 각 파일 유형에 대한 지침을 반복해야합니다.

+0

당신은 또한 각 파일 확장명에 대한 디렉토리를 자동으로 작성하기 위해 작성할 수 있지만 매우 위험합니다. :) –