HOWTO · Batch
배치 스크립트에서 파일의 텍스트 바꾸기
이 자습서에서는 배치 스크립트에서 파일의 텍스트를 대체하는 방법을 살펴봅니다.
이 페이지의 내용
이 글에서는 파일 내의 텍스트를 교체하는 몇 가지 방법을 소개합니다. 두 가지 다른 방법을 살펴보겠습니다.
첫 번째 방법은 작업을 수행하기 위해 배치 스크립트만을 사용하고 두 번째 방법은 Windows PowerShell을 이용한 해결책을 제공합니다.
외부 인터넷 액세스 및 소프트웨어 설치가 제한된 Windows 서버에서 작업하는 시나리오를 가정해 봅시다.
특정 데이터가 포함된 모든 TXT 파일의 발생을 모두 제거하는 작업이 할당되었다고 가정해 보세요. 큰 파일에 수동으로 이 작업을 수행한다고 상상해 보면 번거롭고 비효율적입니다.
우리의 방법이 등장하는 곳은 바로 이때입니다. Windows 기계에서 사용 가능한 도구만을 사용하여 목표를 달성할 수 있도록 도와줍니다 - CMD와 PowerShell입니다.
아래의 내용을 포함하는 텍스트 파일이 있다고 가정해 봅시다.
Test.txt:
This is text that is saved in a text file. This is an update. ,,,,,,,,,,,,
우리는 이 명령들을 빈 문자로 교체할 것입니다.
배치 스크립트를 사용하여 파일에서 텍스트 교체하기
배치 스크립트:
@echo off
FOR /f "tokens=*" %%s IN (Test.txt) DO (
SET Texts=%%s
)
set Texts=%Texts:,=%
FOR /F "tokens=* delims=" %%x IN (Test.txt) DO SET text=%%x
ECHO %Texts% > "G:\BATCH\Test.txt" :: the path location of the txt file
먼저 FOR /f "tokens=*" %%s IN (Test.txt) DO (라는 줄을 사용하여 파일을 읽은 다음 SET Texts=%%s를 통해 파일의 텍스트로 문자열 변수를 초기화합니다. 쉼표를 빈 문자로 대체하기 위해 set Texts=%Texts:,=%라인을 통해 각 쉼표를 대체합니다.
마지막으로, 텍스트를 다시 파일에 넣습니다. 위의 코드를 실행하면 아래와 같이 파일 내용이 변경되는 것을 볼 수 있습니다.
This is text that is saved in a text file. This is an update.
Windows PowerShell을 사용하여 파일에서 텍스트 교체하기
이 방법은 이전 방법과 동일한 결과를 제공합니다. 이 방법에서는 배치 스크립트에서 PowerShell을 사용했습니다. 이 방법의 예제 코드는 다음과 같습니다.
powershell -Command "(gc Test.txt) -replace ',', '' | Out-File -encoding ASCII Test.txt"
코드를 실행하면 아래와 같이 파일 내용이 변경되는 것을 볼 수 있습니다.
This is text that is saved in a text file. This is an update.
이 방법에서는 PowerShell의 -replace 연산자를 활용하여 텍스트를 교체합니다. 이 명령은 파일(Test.txt)의 내용을 읽고 쉼표를 빈 문자로 대체한 후 업데이트된 내용을 Test.txt에 저장합니다.
결론
배치 스크립트와 Windows PowerShell을 활용하여 효율적으로 텍스트 교체 작업을 자동화할 수 있습니다.
이러한 방법은 파일 크기나 제한된 액세스 때문에 수동 편집이 비현실적인 시나리오에 유용한 도구로 사용됩니다.
큰 파일을 처리하거나 제한된 환경에서 작업을 수행하는 경우, 이러한 기술은 간소화된 해결책을 제공합니다.
배치 스크립트와 PowerShell의 힘을 통해 텍스트 교체 작업을 처리할 때 생산성과 효율성을 향상시킬 수 있습니다.