다음을 통해 공유


Add-Content

파일에 단어를 추가하는 것과 같이 지정된 항목에 내용을 추가합니다.

Syntax

Add-Content
   [-Path] <string[]>
   [-Value] <Object[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-NoNewline]
   [-Encoding <FileSystemCmdletProviderEncoding>]
   [-Stream <string>]
   [<CommonParameters>]
Add-Content
   [-Value] <Object[]>
   -LiteralPath <string[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-NoNewline]
   [-Encoding <FileSystemCmdletProviderEncoding>]
   [-Stream <string>]
   [<CommonParameters>]

Description

cmdlet은 Add-Content 지정된 항목 또는 파일에 콘텐츠를 추가합니다. 명령에 내용을 입력하거나 해당 내용이 포함된 개체를 지정하여 내용을 지정할 수 있습니다.

다음 예제에 대한 파일 또는 디렉터리를 만들어야 하는 경우 New-Item을 참조하세요.

예제

예제 1: 예외가 있는 모든 텍스트 파일에 문자열 추가

이 예제에서는 현재 디렉터리의 텍스트 파일에 값을 추가하지만 파일 이름에 따라 파일을 제외합니다.

Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'

cmdlet은 Add-ContentPath 매개 변수를 사용하여 현재 디렉터리의 모든 .txt 파일을 지정합니다. Exclude 매개 변수는 지정된 패턴과 일치하는 파일 이름을 무시합니다. Value 매개 변수는 파일에 기록되는 텍스트 문자열을 지정합니다.

Get-Content를 사용하여 이러한 파일의 내용을 표시합니다.

예제 2: 지정된 파일의 끝에 날짜 추가

다음은 현재 디렉터리의 파일에 날짜를 추가하고 PowerShell 콘솔에 날짜를 표시하는 예제입니다.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log

cmdlet은 Add-ContentPathValue 매개 변수를 사용하여 현재 디렉터리에 두 개의 새 파일을 만듭니다. Value 매개 변수는 날짜를 가져올 cmdlet을 지정 Get-Date 하고 날짜를 Add-Content에 전달합니다. cmdlet은 Add-Content 각 파일에 날짜를 씁니다. PassThru 매개 변수는 date 개체를 나타내는 개체를 전달합니다. 전달된 개체를 받을 다른 cmdlet이 없으므로 PowerShell 콘솔에 표시됩니다. cmdlet은 Get-Content 업데이트된 파일 DateTimeFile1.log 표시합니다.

예제 3: 지정된 파일의 내용을 다른 파일에 추가

이 예제에서는 파일에서 콘텐츠를 가져오고 해당 콘텐츠를 다른 파일에 추가합니다.

Add-Content -Path .\CopyToFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\CopyToFile.txt

cmdlet은 Add-ContentPath 매개 변수를 사용하여 현재 디렉터리 CopyToFile.txt 새 파일을 지정합니다. Value 매개 변수는 cmdlet을 Get-Content 사용하여 CopyFromFile.txt 파일의 내용을 가져옵니다. cmdlet 주위의 괄호는 Get-Content 명령이 시작되기 전에 Add-Content 명령이 완료되는지 확인합니다. Value 매개 변수는 에 Add-Content전달됩니다. cmdlet은 Add-Content CopyToFile.txt 파일에 데이터를 추가합니다. cmdlet은 Get-Content 업데이트된 파일 CopyToFile.txt 표시합니다.

예제 4: 변수를 사용하여 지정된 파일의 내용을 다른 파일에 추가

이 예제에서는 파일에서 콘텐츠를 가져오고 콘텐츠를 변수에 저장합니다. 변수는 콘텐츠를 다른 파일에 추가하는 데 사용됩니다.

$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt

cmdlet은 Get-Content CopyFromFile.txt 콘텐츠를 가져오고 변수에 $From 내용을 저장합니다. cmdlet은 Add-ContentPath 매개 변수를 사용하여 현재 디렉터리에 CopyToFile.txt 파일을 지정합니다. Value 매개 변수는 변수를 $From 사용하고 콘텐츠를 에 Add-Content전달합니다. cmdlet은 Add-Content CopyToFile.txt 파일을 업데이트합니다. cmdlet은 Get-Content CopyToFile.txt 표시합니다.

예제 5: 새 파일 Create 콘텐츠 복사

이 예제에서는 새 파일을 만들고 기존 파일의 콘텐츠를 새 파일에 복사합니다.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt

cmdlet은 Add-ContentPathValue 매개 변수를 사용하여 현재 디렉터리에 새 파일을 만듭니다. Value 매개 변수는 cmdlet을 사용하여 Get-Content CopyFromFile.txt 기존 파일의 내용을 가져옵니다. cmdlet 주위의 괄호는 Get-Content 명령이 시작되기 전에 Add-Content 명령이 완료되는지 확인합니다. Value 매개 변수는 NewFile.txt 파일을 업데이트하는 콘텐츠를 Add-Content 전달합니다. cmdlet은 Get-Content NewFile.txt 새 파일의 내용을 표시합니다.

예제 6: 읽기 전용 파일에 콘텐츠 추가

이 명령은 IsReadOnly 파일 특성이 True로 설정된 경우에도 파일에 값을 추가합니다. 읽기 전용 파일을 만드는 단계는 예제에 포함되어 있습니다.

New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        1/28/2019     13:35              0 IsReadOnlyTextFile.txt

cmdlet은 New-ItemPathItemType 매개 변수를 사용하여 현재 디렉터리에 파일 IsReadOnlyTextFile.txt 만듭니다. cmdlet은 Set-ItemPropertyNameValue 매개 변수를 사용하여 파일의 IsReadOnly 속성을 True로 변경합니다. cmdlet은 Get-ChildItem 파일이 비어 있고(0) 읽기 전용 특성(r)을 가지고 있음을 보여 줍니다. cmdlet은 Add-ContentPath 매개 변수를 사용하여 파일을 지정합니다. Value 매개 변수에는 파일에 추가할 텍스트 문자열이 포함됩니다. Force 매개 변수는 텍스트를 읽기 전용 파일에 씁니다. cmdlet은 Get-ContentPath 매개 변수를 사용하여 파일의 내용을 표시합니다.

읽기 전용 특성을 제거하려면 Value 매개 변수가 Set-ItemProperty 로 설정된 False명령을 사용합니다.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인을 요청합니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

이 작업을 수행할 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서 생성된 것과 같은 PSCredential 개체를 Get-Credential 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

경고

이 매개 변수는 PowerShell과 함께 설치된 공급자에서 지원되지 않습니다.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Encoding

대상 파일의 인코딩 유형을 지정합니다. 기본값은 Default입니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Ascii ASCII(7비트) 문자 집합을 사용합니다.
  • BigEndianUnicode big-endian 바이트 순서와 함께 UTF-16을 사용합니다.
  • BigEndianUTF32 big-endian 바이트 순서와 함께 UTF-32를 사용합니다.
  • 바이트 문자 집합을 바이트 시퀀스로 인코딩합니다.
  • 기본 시스템의 활성 코드 페이지(일반적으로 ANSI)에 해당하는 인코딩을 사용합니다.
  • Oem 시스템의 현재 OEM 코드 페이지에 해당하는 인코딩을 사용합니다.
  • 문자열유니코드와 동일합니다.
  • 유니코드 LITTLE-endian 바이트 순서와 함께 UTF-16을 사용합니다.
  • 알려지지 않은유니코드와 동일합니다.
  • UTF7 UTF-7을 사용합니다.
  • UTF8 UTF-8을 사용합니다.
  • UTF32 LITTLE-endian 바이트 순서와 함께 UTF-32를 사용합니다.

인코딩은 FileSystem 공급자가 cmdlet에 Add-Content 추가하는 동적 매개 변수입니다. 이 매개 변수는 파일 시스템 드라이브에만 작동합니다.

Type:FileSystemCmdletProviderEncoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

지정된 항목을 생략합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt)을 입력합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

공급자의 형식 또는 언어에 필터를 지정합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 와일드카드 사용을 포함한 필터 구문은 공급자에 따라 달라집니다. 개체를 검색할 때 공급자가 필터를 적용하기 때문에 필터가 다른 매개 변수보다 더 효율적입니다. 그렇지 않으면 PowerShell은 개체를 검색한 후 필터를 처리합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

읽기 전용 특성을 재정의하여 읽기 전용 파일에 내용을 추가할 수 있도록 합니다. 예를 들어 Force는 읽기 전용 특성을 재정의하거나, 디렉터리를 만들어 파일 경로를 완성할 수 있지만 파일 사용 권한을 변경하지는 못합니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

지정된 항목만 추가합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt)을 입력합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

추가 내용을 받는 항목의 경로를 지정합니다. Path와 달리 LiteralPath 값은 입력한 대로 사용됩니다. 어떠한 문자도 와일드카드로 해석되지 않습니다. 이스케이프 문자가 포함된 경로는 작은따옴표로 묶으세요. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

이 cmdlet이 콘텐츠에 새 줄 또는 캐리지 리턴을 추가하지 않음을 나타냅니다.

입력 개체의 문자열 표현이 연결되어 출력을 형성합니다. 출력 문자열 사이에 공백이나 줄 바꿈이 삽입되지 않습니다. 마지막 출력 문자열 다음에 줄 바꿈이 추가되지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

추가된 내용을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

추가 내용을 받는 항목의 경로를 지정합니다. 와일드카드가 지원됩니다. 여러 경로를 지정하는 경우 쉼표를 사용하여 경로를 구분합니다.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Stream

콘텐츠에 대한 대체 데이터 스트림을 지정합니다. 스트림이 없으면 이 cmdlet이 만듭니다. 와일드카드 문자는 지원되지 않습니다.

Stream FileSystem 공급자가 에 추가하는 Add-Content동적 매개 변수입니다. 이 매개 변수는 파일 시스템 드라이브에만 작동합니다.

cmdlet을 Add-Content 사용하여 Zone.Identifier 대체 데이터 스트림의 콘텐츠를 변경할 수 있습니다. 그러나 인터넷에서 다운로드되는 파일을 차단하는 보안 검사를 제거하는 방법으로는 권장되지 않습니다. 다운로드한 파일이 안전한지 확인하면 cmdlet을 Unblock-File 사용합니다.

이 매개 변수는 PowerShell 3.0에서 도입되었습니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseTransaction

활성 트랜잭션에 명령을 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 사용할 수 있습니다. 자세한 내용은 about_Transactions를 참조하세요.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

추가할 내용을 지정합니다. 따옴표 붙은 문자열(예: 이 데이터는 내부 전용)을 입력하거나 생성되는 DateTime 개체와 같이 콘텐츠가 Get-Date 포함된 개체를 지정합니다.

경로가 문자열일 뿐이므로 해당 경로를 입력하여 파일의 내용을 지정할 수 없습니다. 명령을 사용하여 Get-Content 콘텐츠를 가져와 Value 매개 변수에 전달할 수 있습니다.

Type:Object[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

System.Object, System.Management.Automation.PSCredential

값, 경로 또는 자격 증명을 로 파이프할 Set-Content수 있습니다.

출력

None or System.String

PassThru 매개 변수 Add-Content 를 사용하면 콘텐츠를 나타내는 System.String 개체를 생성합니다. 그러지 않으면 이 cmdlet에서 출력이 생성되지 않습니다.

참고

개체를 로 Add-Content파이프하면 개체가 항목에 추가되기 전에 문자열로 변환됩니다. 개체 유형에 따라 문자열 형식이 결정되지만 형식이 개체의 기본 표시 형식과 다를 수도 있습니다. 문자열 형식을 제어하려면 보내는 cmdlet의 형식 지정 매개 변수를 사용합니다.

기본 제공 별칭 으로 를 참조할 Add-Content 수도 있습니다 ac. 자세한 내용은 about_Aliases를 참조하세요.

Add-Content cmdlet은 모든 공급자가 노출하는 데이터와 함께 작동하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 를 입력합니다 Get-PSProvider. 자세한 내용은 about_Providers를 참조하세요.