PowerShell을 사용하여 텍스트 파일에 쓰는 방법

2021년 6월 3일 102357 견해

이 S 영역에서는 PowerShell을 사용하여 파일에 쓰는 다양한 방법을 알려줍니다.

이 가이드는 파일에 출력을 쓰는 데 사용되는 다양한 PowerShell Cmdlet에 대해 설명하는 것으로 시작합니다. 섹션 커버 파일 없음 , Add-Content 및 Set-Content Cmdlet(예제 포함).

그런 다음 두 번째 섹션에서는 다양한 PowerShell을 사용하는 방법을 배웁니다. 행동 양식 텍스트 파일에 대한 쓰기 및 업데이트를 조작합니다.

마지막으로 마지막 섹션에서는 PowerShell에서 텍스트 파일에 출력을 쓰는 모든 가능한 예를 다룹니다. 예제는 텍스트 파일 덮어쓰기와 같은 간단한 예제부터 파일 인코딩 조작과 같은 고급 예제까지 다양합니다.

특정 예를 찾고 있다면 아래의 게시물 주제 찾아보기를 펼치고 주제를 클릭하십시오.

이 가이드에는 PowerShell을 사용하여 텍스트 파일에 출력을 쓰는 것과 관련하여 자주 묻는 질문에 대한 짧은 답변이 포함된 FAQ 섹션이 있습니다.

게시물 주제 찾아보기

텍스트 파일을 작성하거나 업데이트하는 데 사용되는 PowerShell cmdlet

텍스트 파일 쓰기 또는 업데이트를 위한 PowerShell cmdlet

이 섹션에서는 텍스트 파일을 작성, 업데이트 또는 교체하는 데 사용되는 네 가지 PowerShell Cmdlet을 소개합니다. 이 섹션의 각 하위 섹션에서 사용 방법을 배우게 됩니다. 파일 없음 , 콘텐츠 추가 , 그리고 세트 콘텐츠 .

PowerShell 출력을 텍스트 파일에 쓰는 방법 파일 없음

텍스트 파일에 출력을 쓰는 것은 첫 번째 명령의 출력을 다음으로 파이핑하는 것만큼 간단합니다. 파일 없음 텍스트 파일의 경로를 지정합니다.

첫 번째 예에서는 PowerShell 프롬프트에 텍스트를 입력하고 다음으로 파이프합니다. 파일 없음 .

|_+_| 파일이 존재하지 않으면 Out-File이 지정한 경로에 파일을 생성합니다. 파일 경로 매개변수.

명령이 실행되고 PowerShell 프롬프트로 돌아갑니다.

PowerShell에서 Out-File을 사용하여 파일에 쓰거나 추가하는 방법

다음은 지정된 경로에 생성된 파일입니다. 두 번째 이미지는 텍스트 파일의 내용입니다.

PowerShell에서 Out-File을 사용하여 파일에 쓰거나 추가하는 방법

이 방법을 사용하여 PowerShell 명령의 출력을 텍스트 파일에 쓸 수 있습니다.

이 두 번째 예에서는 Get-Process의 출력을 텍스트 파일에 씁니다. 다음은 명령입니다.

|_+_|

이 명령은 process.txt 파일을 실행하고 생성합니다. 출력은 아래 두 번째 이미지에 표시됩니다.

PowerShell 출력을 기존 텍스트 파일에 추가하는 방법 파일 없음

PowerShell을 사용하여 파일에 쓰는 또 다른 방법은 기존 텍스트 파일에 일부 콘텐츠를 추가(콘텐츠 추가)하는 것입니다.

첫 번째 예에 이어 아래 명령은 파이프라인(|) 앞의 정보를 first-file.txt 파일의 맨 아래에 추가(추가)합니다.

|_+_|

이제 파일에는 첫 번째 줄 아래에 This가 추가될 텍스트와 함께 두 번째 줄이 있습니다. 아래 이미지를 참조하십시오.

사용하는 방법 콘텐츠 추가 PowerShell에서 텍스트 파일에 추가하려면

PowerShell을 사용하여 기존 텍스트 파일에 다음을 추가하여 파일에 쓸 수도 있습니다. 콘텐츠 추가 cmdlet.

추가하려면 이것은 기존 파일인 first-file.txt의 두 번째 줄 아래에 추가됩니다. 이 명령을 입력하고 Enter 키를 누릅니다.

|_+_|

이제 파일에 This will be added 텍스트가 있는 세 번째 줄이 두 번째 줄 아래에 추가됩니다. 아래 이미지를 참조하세요.

마지막 예에서는 출력을 추가(작성)합니다. 프로세스 가져오기 Cmdlet에서 생성된 프로세스.txt 파일 없음 예시.

이 예에서는 아래 명령을 실행합니다.

|_+_| |_+_|

첫 번째 명령은 출력을 저장합니다. 프로세스 가져오기 에서 프로세스 변하기 쉬운. 두 번째 명령은 변수의 출력을 프로세스.txt 파일에 추가합니다.

이 S 영역에서 다루는 방법 중 하나를 사용하여 PowerShell로 파일에 쓰거나 기존 파일에 추가할 수 있습니다!

사용하는 방법 세트 콘텐츠 PowerShell에서 텍스트 파일에 쓰기

지금까지 이 섹션에서 사용하는 방법을 보여 드렸습니다. 파일 없음 텍스트 파일에 쓰기 위해. 또한 동일한 Cmdlet을 사용하여 텍스트 파일에 추가하는 방법도 보았습니다.

마지막으로, 마지막 하위 섹션에서 사용 방법을 보여 드렸습니다. 콘텐츠 추가 텍스트 파일에 출력을 추가합니다.

이 하위 섹션은 다음을 소개합니다. 세트 콘텐츠 . 이 Cmdlet과 이미 논의된 다른 2개의 Cmdlet 사이의 한 가지 차이점은 파일 없음 그리고 콘텐츠 추가 텍스트 파일에 내용을 추가할 수 있습니다. 세트 콘텐츠 내용을 덮어씁니다.

따라서 아래 명령은 파일의 내용을 파일에 지정된 새 내용으로 덮어씁니다. 매개변수.

|_+_|

다음은 텍스트 파일입니다. 이전 내용이 모두 교체되었습니다!

PowerShell 텍스트 파일 행동 양식 텍스트 파일을 쓰거나 업데이트하는 데 사용

PowerShell 텍스트 파일 메서드를 사용하여 텍스트 파일에 쓰는 방법

이 가이드의 첫 번째 섹션에서는 텍스트 파일에 출력을 쓰는 데 사용되는 다양한 PowerShell Cmdlet에 대해 설명했습니다. 이 섹션에서는 PowerShell 텍스트 파일을 사용하여 동일한 작업을 수행하는 방법을 배웁니다. 행동 양식 .

이 섹션은 사용 가능한 텍스트 파일을 찾는 방법을 가르치는 것으로 시작됩니다. 행동 양식 . 그런 다음 후속 하위 섹션에서 이러한 PowerShell을 사용하는 방법을 배우게 됩니다. 행동 양식 내용 텍스트 파일을 작성, 업데이트 및 덮어씁니다.

아래 스크린샷의 텍스트 파일을 사용하여 PowerShell을 찾는 방법을 설명하겠습니다. 행동 양식 텍스트 파일을 나열할 때 사용 가능 콘텐츠 가져오기 cmdlet. 또한 이 섹션의 모든 하위 섹션에 있는 예제에 이 텍스트 파일을 사용합니다.

PowerShell 텍스트 파일 메서드를 찾는 방법

전체 목록을 보려면 행동 양식 그리고 연산자 텍스트 파일에서 사용 가능한 파이프 출력 콘텐츠 가져오기 명령 회원가입 .

다음은 샘플 명령입니다.

|_+_|

이 명령은 여러 PowerShell을 나열합니다. 행동 양식 . 그러나 이 가이드의 목적을 위해 다음 사항에 관심이 있습니다. 행동 양식 :

  • 끼워 넣다
  • 제거하다
  • 바꾸다

또한, 나는 또한 사용할 것입니다 IndexOf 내 일러스트레이션의 방법. 나는 이것들을 강조했다 행동 양식 마지막 명령의 결과로…

다음 하위 섹션에서는 이러한 PowerShell을 사용하는 방법을 배웁니다. 행동 양식 텍스트 파일을 나열할 때 사용 가능 콘텐츠 가져오기 cmdlet.

PowerShell을 사용하는 방법 끼워 넣다 기존 텍스트 파일에 문자열을 추가하는 방법

PowerShell의 일반 구문 끼워 넣다 방법은…

|_+_|

그만큼 시작 인덱스 이전에 텍스트를 삽입하려는 하위 문자열의 첫 번째 문자입니다. 또한, 문자열 값 삽입하려는 텍스트입니다.

쉽게 결정할 수 있는 한 가지 방법 시작 인덱스 계산하는 것입니다 IndexOf 텍스트를 삽입하려는 문자열의 값입니다.

나는 내가 말한 대부분이 당신에게 그리스어처럼 들릴 수 있다는 것을 압니다! 그래서 내 텍스트 파일의 예를 들어 설명하겠습니다.

시작하려면 내 파일의 경로를 변수에 저장하고 싶습니다. 이렇게 하면 나중에 업데이트된 콘텐츠를 더 쉽게 저장할 수 있습니다.

|_+_|

다음으로 사용하겠습니다. 콘텐츠 가져오기 텍스트 파일의 내용을 나열하는 명령입니다. 그런 다음 결과를 다른 변수에 저장합니다...

|_+_|

다음 단계로 진행하기 전에 PowerShell 구문을 다시 가져와 보겠습니다. 끼워 넣다 방법…

|_+_|

앞서 언급했듯이 가장 쉬운 방법은 시작 인덱스 – 텍스트를 삽입하려는 텍스트 파일의 위치 – IndexOf 방법 .

이 예에서는 not before overwrite라는 단어를 삽입하고 싶습니다.

PowerShell 삽입 방법을 사용하여 기존 텍스트 파일에 텍스트를 추가하는 방법

첫 번째 단계는 IndexOf 덮어쓰기 값. 아래 명령은 작업을 수행합니다 ...

|_+_|

결과는 10입니다.

이 점을 명심하십시오. IndexOf10 덮어쓰기 단어의 첫 번째 문자의 시작 부분에 정확히 있습니다.

이를 염두에 두고 문자열(텍스트, 숫자, 문자 등 무엇이든)을 삽입하려면 덮어쓰기 전에 10을 사용합니다. 시작 인덱스 .

또한 문자열 끝에 무엇이든 삽입하려면 덮어쓰기를 하고 첫 번째 문자(이 경우 o)부터 문자열 끝까지 덮어쓰기(overwrite)하는 문자 수를 계산합니다. 이는 18이 됩니다.

공백도 문자로 계산됩니다.

하지만 이 예제의 목적을 위해 not before overwrite라는 단어를 삽입하고 싶습니다...

PowerShell 삽입 방법을 사용하여 기존 텍스트 파일에 텍스트를 추가하는 방법

이것은이 마법을 수행하는 명령입니다 ...

|_+_| not과 overwrite 사이에 공백을 만들기 위해 not 뒤에 공백을 추가했습니다.

명령에서, 10 이다 시작 인덱스 , ~ 아니다 ~이다 문자열 값 . 이 명령은 아래 삽입 방법의 구문을 따릅니다...

|_+_|

그리고 다음은 PowerShell의 마지막 명령의 결과입니다. 결과에는 우리가 삽입한 단어가 포함됩니다!

하지만 아직 끝나지 않았습니다. 마지막 단계는 이 값을 동일한 텍스트 파일에 쓰는 것입니다.

이렇게 하려면 다음을 사용해야 합니다. 세트 콘텐츠 명령. 마지막 섹션에서 해당 섹션에서 논의한 다른 2개의 Cmdlet과 달리, 세트 콘텐츠 텍스트 파일의 내용을 덮어씁니다.

따라서 마지막 PowerShell 명령의 출력을 동일한 텍스트 파일에 쓰려면 아래 명령을 실행하십시오…

|_+_|

이 마지막 명령을 실행하고 텍스트 파일을 열면 단어, not은 이제 텍스트 파일의 문자열 일부가 됩니다!

PowerShell 삽입 방법을 사용하여 기존 텍스트 파일에 텍스트를 추가하는 방법

PowerShell을 사용하는 방법 제거하다 기존 텍스트 파일에서 문자열을 삭제하는 방법

이 섹션을 소개할 때 PowerShell로 예제를 제공할 것이라고 언급했습니다. 제거하다 방법. 이 하위 섹션에서는 이 PowerShell 메서드를 사용하여 텍스트 파일에서 문자열을 삭제하는 방법을 배웁니다.

의 구문부터 시작하겠습니다. 제거하다 방법:

|_+_| |_+_|

첫 번째 구문에서는 단순히 시작 인덱스 . 또한 두 번째 구문에서는 다음을 지정해야 합니다. 시작 인덱스 그리고 세다 .

마지막 하위 섹션에서 설명했듯이 다음을 얻을 수 있습니다. 시작 인덱스 계산하여 IndexOf 제거하려는 구문의

또한 두 번째 구문의 경우 세다 는 문자 수입니다. 시작 인덱스 – 제거하고 싶습니다.

따라서 마지막 하위 섹션의 텍스트 파일에 추가되지 않은 문자열을 제거하고 싶다고 가정해 보겠습니다. 첫 번째 단계는 IndexOf 문자열의 첫 번째 문자가 아닙니다.

마지막 하위 섹션의 예에 이어 아래의 세 번째 명령은 다음을 결정합니다. IndexOf 값:

|_+_|

결과는 10...

PowerShell Remove 메서드를 사용하여 기존 텍스트 파일에서 문자열을 삭제하는 방법

계속해서 문자열을 제거하려면 두 번째 구문을 사용하지 않습니다. 제거하다 방법.

|_+_|

내 예에서는 시작 인덱스 는 10입니다. 앞서 설명했습니다. 세다 는 문자 수입니다. 시작 인덱스 – 제거하고 싶습니다.

따라서 우리는 문자열을 제거하고 싶습니다. 시작 인덱스 . 따라서 세다 3이다.

이러한 정보를 기반으로 아래 명령은 텍스트 파일이 아닌 문자열을 제거합니다..

|_+_|

결과는 다음과 같습니다.

결과를 자세히 보면 will과 overwrite 사이에 이중 공백이 있음을 알 수 있습니다. 공백 중 하나를 제거하려면 세다 4…

|_+_|

이제 공간이 사라졌습니다!

PowerShell Remove 메서드를 사용하여 기존 텍스트 파일에서 문자열을 삭제하는 방법

마지막으로 아래 PowerShell 명령을 사용하여 업데이트된 텍스트를 파일에 씁니다...

|_+_|

명령을 실행한 후 파일이 업데이트되지 않고 문자열 없이 업데이트됩니다. 아래 스크린샷을 참조하십시오…

PowerShell을 사용하는 방법 바꾸다 텍스트 파일에서 문자열을 바꾸는 방법

이 섹션의 마지막 2개 하위 섹션에서 사용 방법을 배웠습니다. 끼워 넣다 그리고 제거하다 텍스트 파일에 쓰는 PowerShell 메서드.

이 마지막 하위 섹션에서는 문자열을 다른 문자열로 바꾸는 방법을 배웁니다. 평소와 같이 다음 구문부터 시작하겠습니다. 바꾸다 방법:

|_+_|

결정해야 하는 다른 2가지 방법과 달리 시작 인덱스 , 또는 세다 , 바꾸다 방법은 하지 않습니다. 문자열을 대체하기 위해 필요한 것은 대체할 문자열을 지정한 다음 새 문자열을 지정하는 것입니다.

예를 들어 설명하기 위해 텍스트 파일로 돌아가 보겠습니다. 이 예에서는 문자열을 대체하고 덮어쓰기로 덮어씁니다...

아래 세 번째 명령이 작업을 수행합니다. 처음 두 명령을 다시 도입하여 내 변수에 있는 텍스트 파일의 업데이트된 버전을 얻을 수 있습니다.

또한 마지막 PowerShell 명령은 업데이트된 출력을 동일한 텍스트 파일에 씁니다...

|_+_|

명령을 실행하면 텍스트 파일이 업데이트됩니다. 아래 스크린샷을 참조하십시오…

PowerShell 리디렉션 연산자를 사용하여 텍스트 파일에 추가하는 방법

Windows PowerShell에는 리디렉션 연산자 . 이러한 리디렉션 연산자 중 두 개를 사용하여 PowerShell에서 텍스트 파일에 쓰거나 업데이트할 수 있습니다.

리디렉션 연산자는 PowerShell 메서드를 사용하여 텍스트 파일에 쓰는 방법에 대한 이 섹션에 적합하지 않다는 것을 알고 있습니다. 그러나 이것은 내가 이 주제를 포함할 수 있는 유일한 논리적 섹션입니다.

새 텍스트 파일을 만들고 쓰려면 > 리디렉션 연산자를 사용합니다. 이 연산자를 사용하여 PowerShell 스트림을 텍스트 파일에 쓰는 경우 텍스트 파일의 내용을 덮어씁니다.

그러나 내용을 덮어쓰지 않고 텍스트 파일을 업데이트하려면 >> 리디렉션 연산자를 사용합니다.

이러한 연산자의 작동 방식을 설명하려면 다음 명령을 실행하십시오.

|_+_| |_+_|

첫 번째 명령은 텍스트 파일을 생성하고, E: eportsRedirectExample.txt . 그런 다음 리디렉션을 텍스트 파일에 씁니다.

또한 두 번째 명령은 리디렉션 라인 2를 동일한 텍스트 파일에 추가합니다. 다음은 PowerShell의 명령과 텍스트 파일의 스크린샷입니다.

PowerShell 리디렉션 연산자를 사용하여 텍스트 파일에 추가하는 방법

PowerShell 텍스트 파일에 쓰기 예제

PowerShell 텍스트 파일에 쓰기 예제

이 마지막 섹션에서는 PowerShell에서 텍스트 파일에 쓰는 여러 예제를 공유합니다. 예제에서는 이 가이드의 처음 두 섹션에서 다루는 기술을 적용합니다.

PowerShell 출력을 텍스트 파일에 쓰고 덮어쓰는 방법

텍스트 파일의 내용을 덮어쓰는 방법에는 세 가지가 있습니다. 먼저 실행하면 파일 없음 없이 명령 추가 매개변수를 지정하면 텍스트 파일의 내용을 덮어씁니다.

또한 텍스트 파일의 내용을 다음으로 덮어쓸 수 있습니다. 세트 콘텐츠 명령. 마지막으로 다음을 사용할 수 있습니다. > 텍스트 내용을 덮어쓰는 리디렉션 연산자.

몇 가지 예를 들어, 아래 명령은 텍스트 파일의 내용을 덮어씁니다. E: eportsoverwrite.txt :

|_+_|

아래 스크린샷은 명령과 텍스트 파일의 최종 내용을 보여줍니다.

텍스트 파일 및 콘솔에 PowerShell 출력을 작성하는 방법

PowerShell 출력을 텍스트 파일에 작성하고 출력을 콘솔에도 표시하려면 다음 두 Cmdlet 중 하나를 사용할 수 있습니다. 콘텐츠 추가 또는 세트 콘텐츠 .

두 Cmdlet에는 패스쓰루 . 사용하는 경우 패스쓰루 매개 변수, PowerShell은 지정된 텍스트 파일 경로에 출력을 씁니다. 그런 다음 콘솔에도 표시합니다.

그러나 사용하는 Cmdlet은 텍스트 파일에 추가할 것인지 텍스트 파일의 내용을 덮어쓸 것인지에 따라 다릅니다. 텍스트 파일에 추가하려면 다음을 사용하십시오. 콘텐츠 추가 .

그러나 텍스트 파일의 내용을 덮어쓰려는 경우 세트 콘텐츠 . 두 가지 예를 들어 설명하겠습니다.

문장을 추가하기 위해 이것은 다음에 의해 추가됩니다. 콘텐츠 추가 , 지정된 텍스트 파일로 이동하고 콘솔에 메시지를 표시하려면 아래 명령을 실행하십시오.

|_+_|

아래 스크린샷은 PowerShell의 명령 결과와 텍스트 파일의 출력을 보여줍니다.

텍스트 파일 및 콘솔에 PowerShell 출력을 작성하는 방법

반대로 텍스트 파일의 내용을 덮어쓰고 콘솔에도 출력을 쓰려면 아래 명령어를 사용하세요...

|_+_|

마지막으로 콘솔에 표시되고 텍스트 파일에도 작성된 PowerShell 명령의 출력은 다음과 같습니다. 그런데 이번에는 텍스트 파일의 내용을 덮어썼다.

줄 바꿈 없이 텍스트 파일에 PowerShell 출력을 작성하는 방법

이 PowerShell 명령을 실행하면 텍스트 파일의 같은 줄에 출력을 쓰는 대신 Victor와 Ashiedu라는 두 문자열을 두 줄로 씁니다...

|_+_|

그러나 목표가 같은 줄에 두 문자열을 모두 쓰는 것이라면 다음을 포함해야 합니다. 파일 없음 Cmdlet 매개변수가 호출됨 줄바꿈 없음 .

|_+_|

이제 텍스트 파일의 두 문자열이 같은 줄에 있습니다! 그러나 두 문자열 사이에는 공백이 없습니다. 이 경우에는 사람의 성과 이름입니다.

줄 바꿈 없이 텍스트 파일에 PowerShell 출력을 작성하는 방법

두 이름 사이에 공백을 포함하려면 두 번째 문자열인 Ashiedu 앞에 공백을 추가하십시오. 아래 명령은 두 번째 문자열 앞의 공백을 제외하고 이전 명령과 동일합니다.

|_+_|

여기 지금 텍스트 파일이 있습니다 ...

텍스트 파일을 덮어쓰지 않으려면 다음을 포함하십시오. 추가 마지막 명령의 매개변수.

UTF 8 인코딩을 사용하여 텍스트 파일에 PowerShell 출력을 작성하는 방법

그만큼 파일 없음 Cmdlet에는 이라는 매개변수가 있습니다. 부호화 . PowerShell 출력을 텍스트 파일에 쓸 때 이 매개변수를 사용하여 파일 인코딩을 지정할 수 있습니다.

또한 기존 텍스트 파일의 인코딩을 변경하려는 경우 출력을 파이프할 수 있습니다. 콘텐츠 가져오기 명령 파일 없음 .

그만큼 부호화 매개변수는 UTF8, ASCII, UTF32 등을 지원합니다. 모든 인코딩 유형을 지정할 수 있습니다.

따라서 이 하위 섹션은 UTF8 인코딩을 사용하여 텍스트 파일에 PowerShell 출력을 작성하는 것에 관한 것이므로 다음은 이를 달성할 수 있는 명령의 예입니다...

|_+_| |_+_|

첫 번째 명령은 출력을 UTF8 인코딩으로 텍스트 파일에 씁니다.

또한 두 번째 명령은 다음을 사용하여 텍스트 파일의 내용을 PowerShell로 가져옵니다. 콘텐츠 가져오기 . 그런 다음 UTF8 인코딩으로 동일한 내용을 다른 텍스트 파일에 씁니다.

파일 액세스 거부 오류에 대한 PowerShell 쓰기를 수정하는 방법

때때로 PowerShell 출력을 텍스트 파일에 쓰려고 하면 액세스 거부 오류 메시지가 나타날 수 있습니다. 이 오류는 여러 가지 이유로 인해 발생할 수 있습니다.

액세스 거부 오류 메시지가 나타날 수 있는 한 가지 이유는 열려 있는 텍스트 파일에 쓰려고 하는 경우입니다. 또한 다른 Windows 프로세스에서 사용 중인 텍스트 파일에 쓰려고 하면 액세스 거부 오류 메시지가 나타날 수 있습니다.

액세스 거부 오류가 수신될 수 있는 또 다른 이유는 지원되지 않는 문자로 텍스트 파일을 만들려고 하는 경우입니다. 예를 들어 이름에 /가 포함된 텍스트 파일을 만들려고 하면 액세스 거부 오류 메시지가 나타날 수 있습니다.

마지막으로 텍스트 파일에 읽기 전용 속성이 있는 경우 액세스 거부 오류 메시지도 표시됩니다.

따라서이 문제를 해결하는 솔루션은 오류 메시지의 원인을 식별하는 것입니다. 그런 다음 변경합니다.

다음 하위 섹션에서는 읽기 전용 특성이 있는 텍스트 파일에 PowerShell 출력을 작성하는 방법을 알려 드리겠습니다.

PowerShell을 사용하여 읽기 전용 텍스트 파일에 쓰는 방법

PowerShell 출력을 읽기 전용 텍스트 파일에 쓰려고 하면 액세스 거부 오류 메시지가 나타납니다. 이를 테스트하기 위해 이전에 만든 텍스트 파일 중 하나에 대해 읽기 전용 속성을 활성화했습니다.

PowerShell을 사용하여 읽기 전용 텍스트 파일에 쓰는 방법

이제 아래 명령으로 텍스트 파일에 쓰기를 시도하면 액세스 거부 오류 메시지가 나타납니다.

|_+_|

좋은 소식은 텍스트 파일에 쓸 수 있는 모든 PowerShell 명령에는 . 이 명령을 포함하면 파일 없음 , 세트 콘텐츠 , 또는 콘텐츠 추가 , 읽기 전용 텍스트 파일에 쓸 수 있습니다.

예를 들어 마지막 명령을 아래와 같이 수정하면 명령은 오류 메시지를 반환하지 않습니다.

|_+_|

이번에는 명령이 성공하고 텍스트 파일이 업데이트됩니다!

PowerShell을 사용하여 읽기 전용 텍스트 파일에 쓰는 방법

PowerShell 출력을 텍스트 파일에 작성하고 존재하지 않는 경우 폴더를 만드는 방법

기본적으로 실행하면 파일 없음 , 세트 콘텐츠 , 또는 콘텐츠 추가 명령을 실행하고 존재하지 않는 텍스트 파일의 경로를 지정하면 파일이 생성됩니다.

그러나 지정된 경로에 존재하지 않는 폴더가 포함되어 있으면 오류 메시지가 나타납니다. 이를 테스트하기 위해 폴더가 포함된 아래 명령을 실행합니다. 줄바꿈 없음 – 이 폴더는 지정된 경로에 존재하지 않습니다…

|_+_|

이 명령은 오류 메시지를 반환합니다.

이 문제를 해결하려면 Test-Path 명령을 사용하여 경로가 존재하는지 확인하십시오. 그런 다음 존재하지 않으면 다음을 사용하십시오. 새로운 물품 실행하기 전에 생성하는 명령 파일 없음 명령.

다음은 업데이트된 스크립트입니다. 마지막 줄은 이 가이드의 가장 최근 명령입니다...

|_+_| 그만큼 매개변수는 어떤 힘을 새로운 물품 경로에 존재하지 않는 모든 폴더를 생성합니다.

스크립트를 실행하려면 새 PowerShell ISE 문서에 복사하고 실행합니다. 스크립트를 실행하기 전에 아래 스크린샷은 폴더가 존재하지 않는다는 것을 보여줍니다…

PowerShell 출력을 텍스트 파일에 작성하고 존재하지 않는 경우 폴더를 만드는 방법

스크립트를 실행하면 폴더가 이제 경로에 존재합니다…

마지막으로 개봉하면 줄바꿈 없음 폴더에서 텍스트를 찾을 수 있습니다. nonewline.txt .

PowerShell 연결을 사용하여 텍스트 파일에 쓰는 방법

PowerShell을 사용하여 두 텍스트 파일의 내용을 단일 텍스트 파일로 결합할 수 있습니다. 두 개의 텍스트 파일을 하나로 결합하는 과정을 연결이라고 합니다.

예를 들어 두 개의 파일을 만들었습니다. 프로세스 파일1.txt 그리고 프로세스 파일2.txt . 그런 다음 사용합니다. 콘텐츠 가져오기 파일을 연결합니다.

마지막으로, 나는 파이프의 결과 콘텐츠 가져오기 에게 세트 콘텐츠 병합된 파일을 단일 파일에 씁니다. 다음은 명령입니다...

|_+_|

PowerShell을 사용하여 텍스트 파일에 날짜 및 시간 출력을 쓰는 방법

날짜와 시간을 텍스트 파일에 써야 하는 경우가 너무 많습니다. 한 가지 예는 오류 로그를 생성하려는 경우입니다.

예를 들어 PowerShell 스크립트를 사용하여 여러 서버에서 작업을 수행하는 경우 스크립트가 연결할 수 없는 서버로 로그 파일을 만드는 것이 좋습니다. 그런 다음 이 로그 파일을 문제 해결에 사용할 수 있습니다.

또한 이러한 로그 파일을 만들 때 날짜 및 시간 스탬프를 포함하는 것도 좋은 생각입니다. 이렇게 하면 스크립트가 서버에 연결을 시도한 시간을 알 수 있습니다.

충분한 이야기! PowerShell로 텍스트 파일에 날짜와 타임스탬프를 쓰는 방법을 보여드리겠습니다. 이 예에서는 텍스트 파일에 존재하지 않는 컴퓨터 목록이 있습니다.

아래 스크립트에서 나는 테스트 연결 컴퓨터에 ping 명령을 내립니다. 그런 다음 컴퓨터가 응답하면 내 스크립트가 원격 컴퓨터에서 일부 작업을 수행하려고 시도합니다.

그러나 만약 테스트 연결 명령이 원격 컴퓨터에서 응답을 받지 못하면 스크립트는 현재 날짜 및 시간 스탬프가 포함된 오류 메시지를 생성합니다.

마지막으로 스크립트는 날짜 및 시간 스탬프가 있는 오류 로그를 텍스트 파일에 기록합니다.

여기 스크립트가 있습니다. 각 행에 대한 자세한 설명은 아래를 참조하십시오…

|_+_|

스크립트를 실행하려면 새 PowerShell ISE 문서에 복사한 다음 스크립트를 실행합니다. 스크립트를 실행하면 다음과 같은 파일이 생성됩니다. 수요일 02-06-2021.txt - 오늘 날짜.

또한 항목을 텍스트 파일로 만들었습니다. 수요일 02-06-2021.txt – 아래 스크린샷 참조…

스크립트를 설명하기 위해 아래에 복사했습니다. 또한 참조하기 쉽도록 줄 번호를 추가했습니다.

|_+_|

다음은 이 복잡해 보이는 PowerShell 스크립트를 분석한 것입니다.

  1. 1행 , 나는 사용했다 콘텐츠 가져오기 내 서버 목록을 PowerShell로 가져오는 명령입니다. 서버는 Get-Content E: eportsITGServers.txt라는 텍스트 파일에 저장됩니다. 마지막으로 서버 목록의 결과를 이라는 변수에 저장했습니다. 서버 .
  2. 그런 다음 2행 내 오류 메시지를 저장할 텍스트 파일의 이름을 만들었습니다. 나는 사용했다 날짜 가져오기 텍스트 파일을 생성하는 명령입니다.

    10행에서는 오류 로그를 텍스트 파일에 기록하는 PowerShell 스크립트를 작성합니다. 자세한 내용은 나중에 설명합니다. 마지막으로 이 파일을 나중에 스크립트에서 사용할 수 있도록 이라는 변수에 저장했습니다. 로그 파일 이름 .
  3. 스크립트는 다음에서 계속됩니다. 3행. 이 줄에서 소개합니다. 각각 방법 . 이 방법을 사용하면 파일에 저장된 파일의 내용을 반복할 수 있습니다. 서버 변하기 쉬운.

    의 두 가지 중요한 요소가 있습니다. 각각 방법 3행에 도입된 – ( 및 {. 첫 번째 여는 괄호, ( 각각 방법 . 또한 대괄호 {는 각각 명령문 블록.
  4. 그런 다음 4행 , 에 저장된 각 서버를 ping합니다. 서버 변하기 쉬운. 각 주기 동안 각각 블록 반복, 서버 이름을 가져옵니다. 서버 변수 - 자동 변수 $_에 저장 - 그런 다음 $_에 저장된 서버 이름을 ping 테스트에서 컴퓨터 이름으로 사용합니다.

    다시 한 번 ping 테스트 결과에 쉽게 액세스할 수 있도록 결과를 이라는 다른 변수에 저장합니다. 핑테스트 . ping 테스트의 결과는 다음 중 하나입니다. 진실 또는 거짓 .
  5. 5행 , IF 문 블록을 소개합니다. 그런 다음, 질환 블록()의 일부, 각 서버에 대해 ping 테스트 결과가 저장되었는지 테스트합니다. 핑테스트 변수는 진실 또는 거짓 .

    또한 ping 테스트 결과가 다음과 같을 경우 진실 , PowerShell 스크립트는 IF 문의 명령 블록에서 작업을 수행합니다. IF 문의 명령 블록은 5행에서 { 괄호로 열립니다.
  6. 그런 다음 6행 , IF 문 블록에서 명령을 실행합니다. 에 7행 , 닫는 괄호 }로 IF 문의 명령 블록을 닫습니다.
  7. 8행소개한다 또 다른 IF 문 블록의 문 부분입니다. 이 블록에서는 ping 테스트에서 False를 반환한 모든 서버에서 실행하려는 명령을 실행합니다.
  8. 9행 , 스크립트는 현재 날짜와 시간을 생성합니다. 그런 다음 결과를 이라는 변수에 저장합니다. 날짜 및 시간 스탬프 . 스크립트는 10행에서 이 변수를 사용합니다.
  9. 그런 다음 10행 , PowerShell 스크립트는 2행에서 만든 텍스트 파일에 현재 날짜와 시간 스탬프를 씁니다. 9행의 명령은 3부분으로 구성되어 있습니다.

    첫 번째 부분에서 스크립트는 오류 메시지의 일부를 생성합니다. 이 부분에는 dateandtimestamp 변수와 일부 공백이 포함됩니다.

    그런 다음 명령(메시지)의 일부에서 스크립트는 실제 메시지를 포함합니다. $_ 서버는 ping에 응답하지 않았기 때문에 건너뛰었습니다. 자동 변수 $_는 ForEaxch 의 진술 4행 .

    마지막으로 전체 메시지가 Out-File 명령으로 파이프됩니다. 11행 .
  10. 12행닫는다 또 다른 닫는 대괄호, }가 있는 명령문 명령 블록.
  11. 그런 다음 13행 , 스크립트는 각각 시계가 있는 문 명령 블록은 닫는 대괄호, }.
  12. 마지막으로 14행 , 스크립트는 각각 방법 닫는 괄호, ). 그만큼 각각 방법 3호선 개통.

PowerShell을 사용하여 텍스트 파일에 쓰기: 자주 묻는 질문

Powershell을 사용하여 텍스트 파일에 쓰기: 자주 묻는 질문 1. PowerShell 결과를 텍스트 파일로 어떻게 보내나요?

PowerShell 결과를 텍스트 파일로 보내는 3가지 방법이 있습니다.

첫째, 텍스트 파일로 보내고자 하는 결과 옆에 > 연산자를 사용할 수 있습니다. 그 뒤에 공백이 오고 텍스트 파일의 전체 경로가 옵니다.

또한 Out-File 명령 Cmdlet을 사용할 수 있습니다. Out-File을 사용하려면 PowerShell 결과의 출력을 Out-File에 파이프(|)한 다음 공백을 입력한 다음 텍스트 파일의 전체 경로를 파이프합니다.

마지막으로 Add-Content를 사용하여 PowerShell 결과를 기존 텍스트 파일에 추가할 수 있습니다. 사용법은 앞에서 설명한 Out-File과 유사합니다.

2. PowerShell에서 텍스트 파일을 어떻게 저장합니까?

당신은 사용할 수 있습니다 새로운 물품 cmdlet을 사용하여 PowerShell에서 새 텍스트 파일을 만듭니다. 텍스트 파일에 항목을 추가하고 자동으로 저장하려면 콘텐츠 추가 cmdlet.

3. PowerShell에서 파일을 어떻게 읽습니까?

사용 콘텐츠 가져오기 cmdlet을 사용하여 PowerShell에서 텍스트 파일의 내용을 읽습니다. 예를 들어, D: ext.txt의 내용을 읽으려면 다음 명령을 사용하십시오. 콘텐츠 가져오기 D: ext.txt

PowerShell에서 파일을 어떻게 읽나요?

4. PowerShell 콘솔에서 변수에 저장된 값을 어떻게 표시합니까?

PowerShell에서 변수 이름을 입력하고 Enter 키를 누릅니다. Powershell 변수에 저장된 값이 콘솔에 표시됩니다. 예를 들어 에 저장된 값을 표시하려면 $콘텐츠 변수를 사용하려면 PowerShell에 $Console을 입력하고 Enter 키를 누르기만 하면 됩니다.

PowerShell 콘솔에서 변수에 저장된 값을 어떻게 표시합니까?

5. PowerShell에 어떻게 추가합니까?

PowerShell에서 추가하는 가장 쉬운 방법은 더하기 기호(+)로 구분된 숫자를 입력한 다음 Enter 키를 누르는 것입니다. 예를 들어 2와 5를 더하려면 다음을 입력하십시오. 2 + 5 , Enter 키를 누릅니다. 답변이 콘솔에 표시됩니다.

PowerShell에 어떻게 추가합니까?

그게 다야! PowerShell 출력을 텍스트 파일에 작성하기 위한 포괄적인 예제가 포함된 업데이트된 가이드입니다.

이 S Zone이 도움이 되었기를 바랍니다. 도움이 되셨다면 아래의 이 게시물이 도움이 되었습니까? 질문에 예를 선택하십시오.

또는 이 페이지 끝에 있는 답장 남기기 양식을 사용하여 질문하거나 의견을 남기거나 피드백을 제공할 수 있습니다.

마지막으로 더 많은 PowerShell S 영역을 보려면 Windows PowerShell 방법 페이지를 방문하십시오. Work from Home 페이지가 매우 유용할 수도 있습니다.

참조 및 추가 읽을거리

  1. 파일 없음
  2. 콘텐츠 추가
  3. 세트 콘텐츠
  4. Null이 아님
  5. 날짜 가져오기
  6. about_리디렉션