New-Item
새 항목을 만듭니다.
구문
pathSet (Default) - All providers
New-Item
[-Path] <String[]>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
nameSet - All providers
New-Item
[[-Path] <String[]>]
-Name <String>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
pathSet (Default) - WSMan provider
New-Item
[-Path] <string[]>
-ConnectionURI <uri>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-Port <int>]
[<CommonParameters>]
nameSet - WSMan provider
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-ApplicationName <string>]
[-Port <int>]
[-UseSSL]
[<CommonParameters>]
pathSet (Default) - Alias provider
New-Item
[-Path] <string[]>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
nameSet - Alias provider
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Description
New-Item cmdlet은 새 항목을 만들고 해당 값을 설정합니다. 만들 수 있는 항목의 형식은 항목의 위치에 따라 달라집니다. 예를 들어 파일 시스템에서 New-Item 파일 및 폴더를 만듭니다. 레지스트리에서 New-Item 레지스트리 키와 항목을 만듭니다.
New-Item 만드는 항목의 값을 설정할 수도 있습니다. 예를 들어 새 파일을 만들 때 New-Item 파일에 초기 콘텐츠를 추가할 수 있습니다.
예제
예제 1: 현재 디렉터리에 파일 만들기
이 명령은 현재 디렉터리에 "testfile1.txt"이라는 텍스트 파일을 만듭니다. Path 매개 변수 값의 점('.')은 현재 디렉터리를 나타냅니다. Value 매개 변수 뒤에 있는 따옴표 붙은 텍스트가 파일에 콘텐츠로 추가됩니다.
New-Item -Path . -Name "testfile1.txt" -ItemType "File" -Value "This is a text string."
예제 2: 디렉터리 만들기
이 명령은 C: 드라이브에 "Logfiles"라는 디렉터리를 만듭니다.
ItemType 매개 변수는 새 항목이 파일 또는 다른 파일 시스템 개체가 아닌 디렉터리임을 지정합니다.
New-Item -Path "C:\" -Name "Logfiles" -ItemType "Directory"
예제 3: 프로필 만들기
이 명령은 $PROFILE 변수로 지정된 경로에 PowerShell 프로필을 만듭니다.
프로필을 사용하여 PowerShell을 사용자 지정할 수 있습니다.
$PROFILE "CurrentUser/CurrentHost" 프로필의 경로 및 파일 이름을 저장하는 자동(기본 제공) 변수입니다. PowerShell에서 경로와 파일 이름을 저장하더라도 기본적으로 프로필은 존재하지 않습니다.
이 명령에서 $PROFILE 변수는 파일의 경로를 나타냅니다.
ItemType 매개 변수는 명령이 파일을 만들게 지정합니다.
Force 매개 변수를 사용하면 경로의 디렉터리에 없는 경우에도 프로필 경로에 파일을 만들 수 있습니다.
프로필을 만든 후 프로필에 별칭, 함수 및 스크립트를 입력하여 셸을 사용자 지정할 수 있습니다.
자세한 내용은 about_Automatic_Variables 및 about_Profiles참조하세요.
New-Item -Path $PROFILE -ItemType "File" -Force
예제 4: 다른 디렉터리에 디렉터리 만들기
이 예제에서는 "C:\PS-Test" 디렉터리에 새 스크립트 디렉터리를 만듭니다.
새 디렉터리 항목의 이름인 "Scripts"는 Name값에 지정되지 않고 Path 매개 변수 값에 포함됩니다. 구문에 표시된 대로 두 명령 형식이 모두 유효합니다.
New-Item -ItemType "Directory" -Path "C:\ps-test\scripts"
예제 5: 여러 파일 만들기
이 예제에서는 두 개의 서로 다른 디렉터리에 파일을 만듭니다. 경로 여러 문자열을 사용하므로 이를 사용하여 여러 항목을 만들 수 있습니다.
New-Item -ItemType "File" -Path "C:\ps-test\test.txt", "C:\ps-test\Logs\test.log"
예제 6: 와일드카드를 사용하여 여러 디렉터리에 파일 만들기
New-Item cmdlet은 Path 매개 변수에서 와일드카드를 지원합니다. 다음 명령은 temp.txt 매개 변수의 와일드카드로 지정된 모든 디렉터리에 파일을 만듭니다.
Get-ChildItem -Path C:\Temp\
Directory: C:\Temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 5/15/2019 6:45 AM 1 One
d----- 5/15/2019 6:45 AM 1 Two
d----- 5/15/2019 6:45 AM 1 Three
New-Item -Path C:\Temp\* -Name temp.txt -ItemType File | Select-Object FullName
FullName
--------
C:\Temp\One\temp.txt
C:\Temp\Three\temp.txt
C:\Temp\Two\temp.txt
Get-ChildItem cmdlet은 C:\Temp 디렉터리 아래에 세 개의 디렉터리를 표시합니다. 와일드카드를 사용하여 New-Item cmdlet은 현재 디렉터리 아래의 모든 디렉터리에 temp.txt 파일을 만듭니다.
New-Item cmdlet은 새로 만든 파일의 경로를 확인하기 위해 Select-Object 파이프되는 사용자가 만든 항목을 출력합니다.
예제 7: 파일 또는 폴더에 대한 기호 링크 만들기
다음은 현재 폴더의 Notice.txt 파일에 대한 기호 링크를 만드는 예제입니다.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
이 예제에서 대상Value 매개 변수의 별칭입니다. 기호 링크의 대상은 상대 경로일 수 있습니다. PowerShell v6.2 이전에는 대상이 정규화된 경로여야 합니다.
PowerShell 7.1부터 상대 경로를 사용하여 Windows의 폴더에 SymbolicLink를 만들 수 있습니다.
예제 8: -Force 매개 변수를 사용하여 폴더 다시 생성 시도
이 예제에서는 내부에 파일이 있는 폴더를 만듭니다. 그런 다음 -Force사용하여 동일한 폴더를 만들려고 시도합니다. 폴더를 덮어쓰지 않고 파일을 그대로 만든 기존 폴더 개체를 반환하기만 하면 됩니다.
PS> New-Item -Path .\TestFolder -ItemType Directory
PS> New-Item -Path .\TestFolder\TestFile.txt -ItemType File
PS> New-Item -Path .\TestFolder -ItemType Directory -Force
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 5/1/2020 8:03 AM TestFolder
PS> Get-ChildItem .\TestFolder\
Directory: C:\TestFolder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:03 AM 0 TestFile.txt
예제 9: Force 매개 변수를 사용하여 기존 파일 덮어쓰기
이 예제에서는 값이 있는 파일을 만든 다음 Force 매개 변수를 사용하여 파일을 다시 만듭니다. Length 속성에서 볼 수 있듯이 기존 파일을 덮어씁니다.
PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file'
Directory: C:\Source\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:32 AM 24 TestFile.txt
New-Item ./TestFile.txt -ItemType File -Force
Directory: C:\Source\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:32 AM 0 TestFile.txt
비고
New-Item 매개 변수와 함께 사용하여 레지스트리 키를 만드는 경우 명령은 파일을 덮어쓸 때와 동일하게 동작합니다. 레지스트리 키가 이미 있는 경우 키와 모든 속성 및 값을 빈 레지스트리 키로 덮어씁니다.
매개 변수
-ApplicationName
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
연결에서 애플리케이션 이름을 지정합니다. ApplicationName 매개 변수의 기본값은 WSMAN .
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
nameSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Authentication
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
서버에서 사용할 인증 메커니즘을 지정합니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | AuthenticationMechanism |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-CertificateThumbprint
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
이 WSMan 작업을 수행할 수 있는 권한이 있는 사용자 계정의 디지털 공개 키 인증서(X509)를 지정합니다. 인증서의 인증서 지문을 입력합니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | cf(cf) |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-ConnectionURI
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
WSMan에 대한 연결 엔드포인트를 지정합니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | Uri |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
pathSet
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Credential
비고
이 매개 변수는 PowerShell과 함께 설치된 공급자에서 지원되지 않습니다. 이 cmdlet을 실행할 때 다른 사용자를 가장하거나 자격 증명을 높이려면 Invoke-Command사용합니다.
매개 변수 속성
| 형식: | PSCredential |
| Default value: | Current user |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Force
이 cmdlet이 기존 읽기 전용 항목에 대해 쓰는 항목을 만들도록 합니다. 구현은 공급자마다 다릅니다. Force 매개 변수를 사용하는 경우에도 cmdlet은 보안 제한을 재정의할 수 없습니다.
PowerShell 7.4부터 이 매개 변수를 사용하면 기존 정션을 덮어쓸 수도 있습니다. 이전에는 "비어 있지 않으므로 제거할 수 없습니다." 오류로 인해 실패했습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-ItemType
새 항목의 공급자 지정 형식을 지정합니다. 이 매개 변수의 사용 가능한 값은 사용 중인 현재 공급자에 따라 달라집니다.
위치가 FileSystem 드라이브에 있는 경우 다음 값이 허용됩니다.
FileDirectorySymbolicLinkJunctionHardLink
비고
Windows에서 SymbolicLink 형식을 만들려면 관리자 권한 상승이 필요합니다. 그러나 개발자 모드를 사용하도록 설정된 Windows 10(빌드 14972 이상)에는 더 이상 기호 링크를 만드는 권한 상승이 필요하지 않습니다.
Certificate 드라이브에서 지정할 수 있는 값은 다음과 같습니다.
Certificate ProviderCertificateStoreStoreLocation
자세한 내용은 about_Providers참조하세요.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 유형 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Name
새 항목의 이름을 지정합니다. Name 또는 Path 매개 변수 값에서 새 항목의 이름을 지정할 수 있으며 Name 또는 Path 값에서 새 항목의 경로를 지정할 수 있습니다. Name 매개 변수를 사용하여 전달된 항목 이름은 Path 매개 변수의 값을 기준으로 만들어집니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
nameSet
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Options
이 매개 변수는 별칭 공급자에서 사용할 수 있는 동적 매개 변수입니다. 자세한 내용은 new-Alias 참조하세요.
별칭의 Options 속성 값을 지정합니다.
유효한 값은 다음과 같습니다.
-
None: 별칭에 제약 조건이 없습니다(기본값). -
ReadOnly: 별칭은 삭제할 수 있지만 Force 매개 변수를 사용하지 않으면 변경할 수 없습니다. -
Constant: 별칭을 삭제하거나 변경할 수 없습니다. -
Private: 별칭은 현재 범위에서만 사용할 수 있습니다. -
AllScope: 별칭이 생성되는 모든 새 범위에 복사됩니다. -
Unspecified: 옵션이 지정되지 않았습니다.
매개 변수 속성
| 형식: | ScopedItemOptions |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-OptionSet
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
서비스의 스위치 집합을 전달하여 요청의 특성을 수정하거나 구체화합니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | Hashtable |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 운영 체제 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Path
새 항목의 위치 경로를 지정합니다. 기본값은 경로 생략할 때 현재 위치입니다. 이름새 항목의 이름을 지정하거나 경로포함할 수 있습니다. Name 매개 변수를 사용하여 전달된 항목 이름은 Path 매개 변수의 값을 기준으로 만들어집니다.
이 cmdlet의 경우 Path 매개 변수는 다른 cmdlet의 LiteralPath 매개 변수처럼 작동합니다.
와일드카드 문자는 해석되지 않습니다. 모든 문자는 위치의 공급자에게 전달됩니다. 공급자가 모든 문자를 지원하지 않을 수 있습니다. 예를 들어 별표(*) 문자가 포함된 파일 이름은 만들 수 없습니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | Current ___location |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
pathSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
nameSet
| Position: | 0 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Port
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
클라이언트가 WinRM 서비스에 연결할 때 사용할 포트를 지정합니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | Int32 |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-SessionOption
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
WS-Management 세션에 대한 확장 옵션 집합을 정의합니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | SessionOption |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 그래서 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-UseSSL
WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.
SSL(Secure Sockets Layer) 프로토콜을 사용하여 원격 컴퓨터에 대한 연결을 설정하도록 지정합니다. 기본적으로 SSL은 사용되지 않습니다.
자세한 내용은 New-WSManInstance참조하세요.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
nameSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Value
새 항목의 값을 지정합니다. 값을 New-Item파이프할 수도 있습니다.
매개 변수 속성
| 형식: | Object |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 목표/타겟 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 위스콘신 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
Object
새 항목의 값을 이 cmdlet으로 파이프할 수 있습니다.
출력
DictionaryEntry
cmdlet은 새 환경 변수를 만들 때 DictionaryEntry 개체를 반환합니다.
DirectoryInfo
이 cmdlet은 파일 시스템에 새 디렉터리를 만들 때 DirectoryInfo 개체를 반환합니다.
FileInfo
이 cmdlet은 파일 시스템에 새 파일을 만들 때 FileInfo 개체를 반환합니다.
AliasInfo
cmdlet은 새 별칭을 만들 때 AliasInfo 개체를 반환합니다.
FunctionInfo
cmdlet은 새 함수를 만들 때 FunctionInfo 개체를 반환합니다.
PSVariable
cmdlet은 새 변수를 만들 때 PSVariable 개체를 반환합니다.
참고
PowerShell에는 New-Item에 대한 다음과 같은 별칭들이 포함되어 있습니다.
- 모든 플랫폼:
ni
New-Item 공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 Get-PSProvider입력합니다. 추가 정보는 about_Providers를 참조하십시오.