2014-05-16 3 views
0

현재 디렉터리의 모든 파일과 모든 하위 디렉터리의 파일 내용을 병합하는 배치 파일을 찾고 있습니다. 또한 파일이 큰 파일의 여러 줄로 구분되어 있고 각 파일 내용 위에 파일 경로가있는 파일 이름이 포함되어 있으면 완벽 할 것입니다. 우리의 배치 파일이있는 \ :.bat 파일을 사용하여 현재 폴더와 모든 하위 폴더의 모든 파일을 하나의 파일에 병합하십시오.

1. D : \은 File2.txt가 포함

some 
text here 
hahaha 

예를 들어, 현재 폴더에 두 개의 파일 D가

2. 는 D : \ folderabc \ file2.mp3가 포함

doremi text 
,174,

나는 d:\에 merge.bat 파일을 실행하고이 같은 내용으로 병합 파일의 Result.txt (또는 무엇이든 확장)을 생성 : 누군가가이 문제에 대한 자신의 솔루션을 공유하는 경우

=========d:\file1.txt========= 
some 
text here 
hahaha 



=========d:\folderabc\file2.mp3========= 
doremi 

나는 주셔서 감사합니다.

정말 고마워요.

답변

1

폴더와 함께 테스트 해보십시오. 파일이 텍스트 파일이라고 가정합니다.

편집 : 수정 사항이 있으며 "d:\base\folder"을 제거하면 현재 디렉토리에서 실행할 수 있습니다.

@echo off 
for /r "d:\base\folder" %%a in (*) do (
    (
    echo =========%%a========= 
    type "%%a" 
    echo(
    echo(
    echo(
    )>>"%temp%\temp.file" 
) 
move "%temp%\temp.file" . >nul 
echo done 
pause 
+0

대단히 감사합니다. 80 %가 넘었습니다. 흥미로운 것처럼 보이지만 .html 파일이 아닌 .php 파일에도 적용됩니다. 맞습니다. 파일이 텍스트 파일이라고 가정합니다. 확장자가있는 파일에 대해 수행 할 수 있습니까? 또한 모든 현재 폴더에서 수행 할 수 있으므로 박쥐 파일을 수정할 이유가 없습니까? 나는 박쥐 파일이 파일에 위치하고 실행 된 경로를 사용하는 파일을 의미합니다. 이 코멘트에 답장을 보내지 않아도 대단히 감사합니다! – Haradzieniec

+1

위의 수정 된 코드를 참조하십시오. HTML 파일을 포함하여 텍스트를 사용하는 모든 파일 형식에서 작동합니다. 비디오 및 음악 파일과 같은 바이너리 파일은 지원되지 않습니다. – foxidrive

관련 문제