아래와 같은 10개의 파일이 있습니다.
file1.txt
(파일 내용 = "file1에 대한 텍스트가 포함되어 있습니다.")file2.txt
(파일 내용 = "나는 file2에 대한 텍스트를 포함합니다")file3.txt
(파일 내용 = "나는 file3에 대한 텍스트를 포함합니다")
그래서
다음과 같은 명령 을 수행하려고 합니다 TYPE
.
type file*.txt > OUTPUT.txt
이는 파일 내용만 출력하는 데 사용됩니다. 각 파일의 파일 이름도 가지려면 출력이 필요합니다.
내 output.txt
파일은 다음과 같아야합니다 :
file1.txt = "i contain text for file1"
file2.txt = "i contain text for file2"
file3.txt = "i contain text for file3"
답변1
다음을 포함하는 proc.bat라는 배치 파일을 만듭니다.
echo %1=>>output.txt
type %1>>output.txt
그런 다음 다음 명령을 사용하십시오.
for %v in (file*.txt) do proc %v
답변2
cmd
창 에서 다음 명령을 사용하십시오 .
>output.txt (for /F "tokens=1* delims=:" %G in ('findstr "^" "file*.txt"') do @echo %G = "%H")
배치 스크립트에서 사용되는 경우 for
루프 내부 변수에 이중 퍼센트 기호가 표시됩니다(예 %%G
: 각각 %%H
대신 ).%G
%H
@echo off
>output.txt (for /F "tokens=1* delims=:" %%G in ('findstr "^" "file*.txt"') do echo %%G = "%%H")
자원(필수 읽기):
- (명령 참조)Windows CMD 명령줄의 AZ 인덱스
- (추가 특징)Windows CMD 셸 명령줄 구문
- (
%G
등 특별 페이지)명령줄 인수(Parameters) - (
>
특별 페이지)리디렉션
답변3
당신은 시도 할 수 있습니다:
for /l %f in (1,1,3) do echo|set /p="File %f = " >> output.txt & type file%f.txt >> output.txt
그러면 다음과 같은 파일이 생성됩니다.
File 1 = Text in file1
File 2 = Text in file2
File 3 = Text in file3
이 for /l
명령은 1부터 3까지 증분하여 계산합니다. 일반적으로 (start,increment,end)
.