2013-09-02 3 views
0

일부 배경 하나 개의 파일을 만듭니다 머리글/바닥 글이 중복하지 않고여러 개의 텍스트 파일을 병합 및

  • 내가 배치 스크립트 나 배치에 노력하고
  • 이 하나의 폴더에 여러 개의 텍스트 파일을 병합 완전히 새로운 오전을 .
  • 텍스트 파일이 폴더에 있고 텍스트 파일의 이름이 변경되므로 폴더의 텍스트 파일이 병합됩니다.
  • 이 병합 된 파일에서 생성 된 마스터 파일에는 헤더가 있습니다.
  • 마스터 파일

  • 이름으로 오늘 날짜와 Q에 저장됩니다. (010913Q)

    data1.text: 
    XYZ Company's Name Date:31082013 
    Sam81211.............. 
    John71511.............. 
    Bob61511.............. 
    Total ................................ 
    
    data2.text: 
    XYZ Company's Name Date:31082013 
    Billy71410.............. 
    Sara9811.............. 
    Joey6210.............. 
    Total ................................ 
    
    data3.text: 
    XYZ Company's Name Date:31082013 
    Hank3509.............. 
    Sally42811.............. 
    Gina1211.............. 
    Total ................................ 
    
    Master File.Text 
    XYZ Company's Name Date:31082013 <--- HEADER 
    Sam81211 
    John71511 
    Bob61511 
    Billy71410 
    Sara9811 
    Joey6210 
    Hank3509 
    Sally42811 
    Gina1211 
    
    SAVED AS 010913Q in the same folder. 
    
+4

지금까지 어떤 시도를 했습니까? 정확히 어디서 붙어 있니? – Vince

답변

0
copy data1.text 010913Q 
<data2.text>>010913Q more +1 
<data3.text>>010913Q more +1 
0

이 Endoro의 아이디어를 사용합니다.

EDIT 파일 처리 순서를 보여주는 줄을 추가하고 최종 파일 이름을 수정했습니다.

그것은 여기 작동이 제공

XYZ Company's Name Date:31082013 
Sam81211.............. 
John71511.............. 
Bob61511.............. 
Billy71410.............. 
Sara9811.............. 
Joey6210.............. 
Hank3509.............. 
Sally42811.............. 
Gina1211.............. 

이 실질적으로 동일한 코드 - 당신의 파일 이름은 영문자으로 분류하고이 처음으로 처리되는 파일을 결정합니다으로 정렬 형식으로 할 필요가있다, 초 등

@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set "dt=%%a" 
set "YYYY=%dt:~0,4%" 
set "MM=%dt:~4,2%" 
set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" 
set "Min=%dt:~10,2%" 
set "Sec=%dt:~12,2%" 

set name=tmp.tmp 
set "flag=" 
for %%a in (*.text) do (
echo processing "%%a" 
    if not defined flag (
    copy "%%a" "%name%" >nul 
    set flag=1 
    ) else (
    more +1 "%%a" >>"%name%" 
    ) 
) 
findstr /v "^Total" < "%name%" >"%mm%%dd%%yyyy:~2%Q" 
del "%name%" 
+0

감사합니다. foxidrive, 필요하지 않은 꼬리말을 제거하는 데 도움주세요. (Total ............) – user2738649

+0

위의 마지막 두 줄은 바닥 글을 제거해야합니다. – foxidrive

+0

죄송합니다 Foxidrive, 테스트를 실행 한 후 파일에서 2 (data2.text :) 헤더를 또한 위의 경우 해당 삭제 (Billy71410 ..............) & else 모든 것이 완벽합니다. 한번보세요. 감사. – user2738649

관련 문제