New-Itemの使い方:ファイルやディレクトリ、レジストリキーを作成する
New-Item コマンドレットを使用すると、ファイルやディレクトリ、レジストリキーなどの新しい項目を作成することができます。ファイルやフォルダの作成だけでなく、レジストリキーなどさまざまな項目を作成できる汎用的なコマンドレットです。ここでは PowerShell における New-Item コマンドレットの使い方について解説します。
New-Itemコマンドレットの書式
New-Item コマンドレットは、ファイルやディレクトリ、レジストリキーを新しく作成するためのコマンドレットです。 New-Item コマンドレットの書式は次の通りです。
New-Item [-Path] <String[]> [-ItemType <String>] [-Value <Object>] [-Force] [-Credential <PSCredential>] [-WhatIf] [-Confirm] [<CommonParameters>]
New-Item はエイリアスとして ni が定義されています。
ni -> New-Item
New-Item を使って新しいファイルやディレクトリを作成するには次の書式を使用します。
New-Item -Path ファイルやディレクトリのパス -ItemType 型
-Path は省略可能なので、通常は次のように実行します。
New-Item ファイルやディレクトリのパス -ItemType 型
-ItemType オプションでは、作成する項目の種類を指定します。指定可能な値は次の通りです。
File : ファイル Directory : ディレクトリ SymbolicLink : シンボリックリンク Junction : ジャンクション HardLink : ハードリンク
それでは実際に試してみます。ファイル c:\tmp\file\blog.txt を作成します。次のように実行してください。
New-Item c:\tmp\file\blog.txt -ItemType File
ファイルが作成されました。(ファイルの中身は空です)。
エクスプローラーで該当のディレクトリを見てみるとファイルが作成されているのが確認できます。
次にディレクトリ c:\tmp\file\img を作成します。次のように実行してください。
New-Item c:\tmp\file\img -ItemType Directory
ディレクトリが作成されました。
エクスプローラーで該当のディレクトリを見てみるとディレクトリが作成されているのが確認できます。
-Valueオプション
New-Item を使ってファイルを作成すると、ファイルは空の状態で作成されますが、 -Value オプションを使用すると、作成したファイルに初期内容としてテキストを書き込むことができます。
New-Item ファイルのパス -ItemType File -Value ファイルに書き込むテキスト
それでは実際に試してみます。ファイル c:\tmp\file\diary.txt を作成します。次のように実行してください。
New-Item c:\tmp\file\diary.txt -ItemType File -Value "The weather is sunny"
ファイルが作成されました。
エクスプローラーで該当のディレクトリを見てみるとファイルが作成されているのが確認できます。
作成したファイルの内容を確認してみます。次のように実行してください。
Get-Content c:\tmp\file\diary.txt
作成時に指定したテキストがファイルに含まれていることが確認できました。
レジストリキーを作成する
New-Item を使って新しいレジストリキーを作成するには次の書式を使用します。
New-Item -Path レジストリキー
レジストリキーを作成する場合は -ItemType を省略して実行します。
それでは実際に試してみます。レジストリキー HKCU:\Software\MyApp\Data を作成します。次のように実行してください。
New-Item HKCU:\Software\MyApp\Data
レジストリキーが作成されました。
レジストリエディターで見てみると、レジストリキーが作成されているのが確認できます。
既存のファイルやディレクトリが存在する場合
New-Item を使って新しいファイルやディレクトリを作成する場合、既に同じ名前のファイルやディレクトリがある場合はエラーとなります。
例えば既にあるファイルと同じ名前でファイルを作成すると、 New-Item: The file 'ファイルのパス' already exists. というエラーが表示されました。
-Force オプションを使用すると、同じ名前のファイルやディレクトリがある場合でもエラーにならず処理が行われます。ただし動作は対象によって異なります。
New-Item ファイルやディレクトリのパス -ItemType 型 -Force
それでは実際に試してみます。次のように実行してください。
New-Item c:\tmp\file\diary.txt -ItemType File -Force
ファイルが作成されました。
作成されたファイルを確認してみると、既存のファイルを削除して新しいファイルが作成されたのではなく、既存のファイルが削除されるのではなく、内容が上書きされていました。(今回は初期内容を指定していないため、ファイルの内容は空になっています)。
ディレクトリについても試してみます。次のように実行してください。
New-Item c:\tmp\file\img -ItemType Directory -Force
ディレクトリが作成されました。
作成されたディレクトリを確認してみると、既存のディレクトリは削除されず、そのまま利用されていることが分かります。また、既存のディレクトリに含まれていたファイルもそのまま残っています。
-- --
PowerShell における New-Item コマンドレットの使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。