新しいアイテムを作成します。
- Syntax
- Description
- Examples
- Example 1: Create a file in the current directory
- 例 2: ディレクトリを作成する
- Example 3: Create a profile
- 例 4: 別のディレクトリにディレクトリを作成する
- 例 5: 複数のファイルを作成する
- 例6: ワイルドカードを使用して複数のディレクトリにファイルを作成する
- 例 7: ファイルまたはフォルダーへのシンボリック リンクを作成する
- 例 8: -Force パラメーターでフォルダー再生を試みる
- Example 9: Use the -Force parameter to overwrite existing files
- Parameters
- Inputs
- Outputs
- Notes
Syntax
New-Item <String>
New-Item <String>] -Name <String>
Description
New-Item コマンドレットは新しいアイテムを作成しその値をセットします。 作成可能なアイテムの種類は、アイテムの場所に依存します。 たとえば、ファイル システムでは、New-Item はファイルおよびフォルダーを作成します。 レジストリでは、New-Item はレジストリ キーとエントリを作成します。
New-Item は、作成する項目の値を設定することもできます。
Examples
Example 1: Create a file in the current directory
このコマンドは、現在のディレクトリに “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"
Example 3: Create a profile
This command creates a PowerShell profile in the path that is specified by $profile variable.
PowerShell をカスタマイズするのにプロファイルを使用することができます。 $profileは自動(組み込み)変数で、「CurrentUser/CurrentHost」プロファイルのパスとファイル名を格納します。 デフォルトでは、PowerShell がプロファイルのパスとファイル名を保存していても、プロファイルは存在しません。
このコマンドでは、$profile 変数がファイルのパスを表します。 ItemType パラメータは、コマンドがファイルを作成することを指定します。
プロファイルを作成した後、シェルをカスタマイズするためにプロファイルにエイリアス、関数、スクリプトを入力することができます。
New-Item -Path $profile -ItemType "file" -Force
例 4: 別のディレクトリにディレクトリを作成する
この例では、新しい Scripts ディレクトリを “C:\PS-Test” ディレクトリに作成します。
新しいディレクトリ項目の名前 “Scripts” は Name の値で指定する代わりに Path パラメータ値に含まれます。
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
例 5: 複数のファイルを作成する
この例では、2 つの異なるディレクトリにファイルが作成されます。
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
例6: ワイルドカードを使用して複数のディレクトリにファイルを作成する
New-Item コマンドレットは、Pathパラメーターでワイルドカードをサポートしています。 次のコマンドは、Pathパラメーターのワイルドカードによって指定されたすべてのディレクトリにtemp.txtファイルを作成します。
Get-ChildItem -Path C:\Temp\Directory: C:\TempMode LastWriteTime Length Name---- ------------- ------ ----d----- 5/15/2019 6:45 AM 1 Oned----- 5/15/2019 6:45 AM 1 Twod----- 5/15/2019 6:45 AM 1 ThreeNew-Item -Path * -Name temp.txt -ItemType File | Select-Object FullNameFullName--------C:\Temp\One\temp.txtC:\Temp\Three\temp.txtC:\Temp\Two\temp.txt
Get-ChildItemコマンドレットは、C:\Tempディレクトリの下に3つのディレクトリがあることを表示します。 ワイルドカードを使用して、New-Itemコマンドレットは、temp.txtファイルをcurrentdirectory以下のすべてのディレクトリに作成します。 New-Item コマンドレットは、新しく作成されたファイルのパスを確認するために Select-Object にパイプされる、作成した項目を出力します。
例 7: ファイルまたはフォルダーへのシンボリック リンクを作成する
この例では、現在のフォルダー内の Notice.txt ファイルへのシンボリック リンクが作成されます。 シンボリックリンクのターゲットは相対パスである場合があります。 PowerShell v6.2 より前は、ターゲットは完全修飾パスでなければなりません。
PowerShell 7.1 以降では、相対パスを使用して Windows 上のフォルダーへのシンボリック リンクを作成できます。
例 8: -Force パラメーターでフォルダー再生を試みる
この例は、中にファイルがあるフォルダーを作成します。 次に、-Forceを使用して同じフォルダーを作成しようとします。
PS> New-Item -Path .\TestFolder -ItemType DirectoryPS> New-Item -Path .\TestFolder\TestFile.txt -ItemType FilePS> New-Item -Path .\TestFolder -ItemType Directory -Force Directory: C:\Mode LastWriteTime Length Name---- ------------- ------ ----d----- 5/1/2020 8:03 AM TestFolderPS> Get-ChildItem .\TestFolder\ Directory: C:\TestFolderMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:03 AM 0 TestFile.txt
Example 9: Use the -Force parameter to overwrite existing files
This example creates a file with a value and then recreates the file using -Forceを使用して、フォルダを上書きをせず、単に既存のフォルダ オブジェクトを返します。 これにより、既存のファイルが上書きされ、length プロパティ
PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file' Directory: C:\Source\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:32 AM 24 TestFile.txtNew-Item ./TestFile.txt -ItemType File -Force Directory: C:\Source\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:32 AM 0 TestFile.txt
注意
New-Item と -Force スイッチを使用してレジストリ キーを作成する場合、コマンドはファイルの上書きと同じように動作します。 レジストリ キーがすでに存在する場合、キーとすべてのプロパティおよび値は空のレジストリ キーで上書きされます。
Parameters
コマンドレットの実行前に確認を要求されます。
| Type: | SwitchParameter |
| Aliases: | cf |
| Position.Of.Pirates | |
| Position.Of.Pirates | |
| SwitchParameter | Named |
| デフォルト値: | False |
| パイプライン入力を許可します。 | False |
| Accept wildcard characters: | False |
Note
このパラメーターは PowerShell とともにインストールしたどのプロバイダーでもサポートされていません。 このコマンドレットを実行する際に、別のユーザーになりすましたり、資格情報を昇格させるには、Invoke-Command を使用します。
| Type: | PSCredential |
| Position: | Named |
| デフォルト値: | Current user |
| Accept pipeline input.を使用して、パイプライン入力を受け付けます。 | True |
| Accept wildcard characters: | False |
このコマンドレットは既存の読み取り専用のアイテムに上書きするアイテムを作成させるように強制されます。 実装は、プロバイダーによって異なります。 Force パラメータを使用しても、コマンドレットはセキュリティ制限を上書きすることはできません。
| Type: | SwitchParameter |
| Position: | Named |
| 初期値: | None |
| パイプライン入力にアクセスできるようになりました。 | False |
| Accept wildcard characters: | False |
新しい項目のプロバイダ指定のタイプを指定します。 このパラメータで使用可能な値は、現在使用しているプロバイダに依存します。
場所が FileSystem ドライブにある場合、次の値が使用できます:
- File
- Directory
- SymbolicLink
- Junction
- HardLink
Note
Windows で SymbolicLink タイプを作成するには管理者としての昇格を要求されます。 しかし、開発者モードを有効にした Windows 10 (ビルド 14972 以降) では、シンボリックリンクの作成に昇格は必要ありません。
Certificate ドライブで、指定できる値は次のとおりです:
- Certificate Provider
- Certificate
- Store
- StoreLocation
詳細については、プロバイダーの詳細をご覧ください。
| Type: | String |
| エイリアス: | Type |
| Position: | Named |
| None | |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
| Type: | String |
| Position: | Named |
| 初期値: | None |
| Accept pipeline input.None(パイプライン入力)。 | True |
| Accept Wildcard characters: | False |
新規項目の位置のパスを指定します。 Pathが省略された場合,デフォルトは現在の場所です。 新しい項目の名前は Name で指定するか、Path に含めることができます。 Nameパラメーターを使用して渡された項目名は、Pathパラメーターの値に対して相対的に作成されます。
このコマンドレットでは、Pathパラメーターは他のコマンドレットのLiteralPathパラメーターのように動作します。 すべての文字は、場所のプロバイダーに渡されます。 プロバイダーはすべての文字をサポートしない場合があります。 たとえば、アスタリスク (*) 文字を含むファイル名を作成することはできません。
| Type: | String |
| Position: | 0 |
| 初期値: | Current location |
| True | |
| Accept Wildcard characters: | False |
新しい項目の値を指定します。 New-Itemにパイプで値を指定することもできます。
| Type: | Object |
| Aliases: | Target |
| Position: | Named |
| 初期値です。 | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
-WhatIf
| Type: | SwitchParameter |
| Aliases: | wi |
| Position.Pirates | |
| Aliases.Pirates | |
| Named | |
| デフォルト値: | False |
| パイプライン入力を受け付けます。 | False |
| Accept wildcard characters: | False |
Inputs
Object
このコマンドレットに新しい項目に対する値をパイプすることができます。
Outputs
Object
このコマンドレットは、作成したアイテムを返します。
Notes
New-Item は、任意のプロバイダーによって公開されるデータで動作するよう設計されています。 セッションで利用可能なプロバイダーの一覧を表示するには、Get-PsProvider と入力してください。 詳細については、about_Providersを参照してください。
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- Move-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers