New-Item

Module: Microsoft.PowerShell.Management

新しいアイテムを作成します。

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

-Confirm

コマンドレットの実行前に確認を要求されます。

Type: SwitchParameter
Aliases: cf
Position.Of.Pirates
Position.Of.Pirates
SwitchParameter Named
デフォルト値: False
パイプライン入力を許可します。 False
Accept wildcard characters: False
-Credential

Note

このパラメーターは PowerShell とともにインストールしたどのプロバイダーでもサポートされていません。 このコマンドレットを実行する際に、別のユーザーになりすましたり、資格情報を昇格させるには、Invoke-Command を使用します。

Type: PSCredential
Position: Named
デフォルト値: Current user
Accept pipeline input.を使用して、パイプライン入力を受け付けます。 True
Accept wildcard characters: False
-Force

このコマンドレットは既存の読み取り専用のアイテムに上書きするアイテムを作成させるように強制されます。 実装は、プロバイダーによって異なります。 Force パラメータを使用しても、コマンドレットはセキュリティ制限を上書きすることはできません。

Type: SwitchParameter
Position: Named
初期値: None
パイプライン入力にアクセスできるようになりました。 False
Accept wildcard characters: False
-ItemType

新しい項目のプロバイダ指定のタイプを指定します。 このパラメータで使用可能な値は、現在使用しているプロバイダに依存します。

場所が 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
-Name
<5744>新規項目の名前を指定することがあります。 NameまたはPathパラメータ値で新しい項目の名前を指定し、NameまたはPathvalueで新しい項目のパスを指定できます。 Name パラメータで渡された項目名は、Path パラメータの値からの相対パスで作成されます。

Type: String
Position: Named
初期値: None
Accept pipeline input.None(パイプライン入力)。 True
Accept Wildcard characters: False
-Path

新規項目の位置のパスを指定します。 Pathが省略された場合,デフォルトは現在の場所です。 新しい項目の名前は Name で指定するか、Path に含めることができます。 Nameパラメーターを使用して渡された項目名は、Pathパラメーターの値に対して相対的に作成されます。

このコマンドレットでは、Pathパラメーターは他のコマンドレットのLiteralPathパラメーターのように動作します。 すべての文字は、場所のプロバイダーに渡されます。 プロバイダーはすべての文字をサポートしない場合があります。 たとえば、アスタリスク (*) 文字を含むファイル名を作成することはできません。

パイプライン入力に許可されました。

Type: String
Position: 0
初期値: Current location
True
Accept Wildcard characters: False
-Value

新しい項目の値を指定します。 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

コメントを残す

メールアドレスが公開されることはありません。