답변:
간단히 사용할 수 있습니다 cat example1.txt, example2.txt | sc examples.txt
. 이 스타일로 두 개 이상의 파일을 확실히 연결할 수 있습니다. 또한 파일 이름이 비슷한 경우 다음을 사용할 수 있습니다.
cat example*.txt | sc allexamples.txt
는 cat
별칭입니다 Get-Content
및 sc
별칭입니다 Set-Content
.
참고 1 : 후자의 방법에주의하십시오. 출력을 시도하면 examples.txt
(또는 패턴과 일치하는 유사) PowerShell은 무한 루프에 빠집니다! (방금 테스트했습니다).
참고 2 :로 파일로 출력하면 >
문자 인코딩이 유지되지 않습니다! 이것이 Set-Content
( sc
) 사용을 권장하는 이유 입니다.
Set-Content
국가 코드 페이지를 사용합니다 (예 : 영어의 경우 Windows-1252). 소스 파일에 다른 코딩 (예 : Windows-1251 또는 UTF8)이 포함 된 경우 올바른 인코딩을 설정해야합니다 sc file.txt -Encoding UTF8
(러시아어의 경우 1251과 같은 숫자는 v6.2부터 지원됨)
Get-Content my.bin -Raw | Set-Content my.bin -NoNewline
변경되지 않습니다 my.bin
. -Raw
모든 CR / LF 바이트를 보존하고 -NoNewline
PowerShell이 자체 CR / LF 바이트를 추가하지 못하도록합니다.
에서는 cmd
다음을 수행 할 수 있습니다.
copy one.txt+two.txt+three.txt four.txt
PowerShell에서는 다음과 같습니다.
cmd /c copy one.txt+two.txt+three.txt four.txt
PowerShell 방식은 gc 를 사용하는 것이지만 위의 방법은 특히 대용량 파일의 경우 매우 빠릅니다. 또한 스위치를 사용하여 ASCII 가 아닌 파일에서도 사용할 수 /B
있습니다.
Add-Content cmdlet을 사용할 수 있습니다 . 첫 번째 파일의 내용을 검색하지 않기 때문에 다른 솔루션보다 조금 더 빠를 수 있습니다.
gc .\file2.txt| Add-Content -Path .\file1.txt
gc
참조합니까?
gc
Get-Content
다음과 같이 할 수 있습니다.
get-content input_file1 > output_file
get-content input_file2 >> output_file
>
"out-file"의 별칭은 어디에 있고 >>는 "out-file -append"의 별칭입니다.
대부분의 다른 회신은 종종 파이핑으로 인해 형식이 잘못되기 때문에 가장 안전한 방법은 다음과 같습니다.
add-content $YourMasterFile -value (get-content $SomeAdditionalFile)
나는 당신이 $ SomeAdditionalFile의 내용을 변수로 읽는 것을 피하고 싶었다는 것을 알고 있지만, 예를 들어 개행 형식을 저장하기 위해 나는 그것을 할 적절한 방법이 없다고 생각합니다.
해결 방법은 $ SomeAdditionalFile 줄을 한 줄씩 반복하고 $ YourMasterFile에 파이프하는 것입니다. 그러나 이것은 지나치게 리소스 집약적입니다.