本記事の概要
この記事では、New-Item コマンドレットを使用して、ファイルを作成する方法について説明します。
New-Item コマンドについての公式サイト情報はコチラを参照してください。
カレントディレクトリにファイルを作成するには?
カレントディレクトリにファイルを作成する場合は、以下の構文を使用します。
New-Item ファイル名 -ItemType File
以下は、「test.txt」というファイルをカレントディレクトリに新規で作成します。
PS C:\Users\hiro> New-Item test.txt -ItemType File ディレクトリ: C:\Users\hiro Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/01/18 21:04 0 test.txt
フルパスを指定してファイルを作成するには?
フルパスを指定してファイルを作成する場合は、以下の構文を使用します。
New-Item フルパス -ItemType File
以下は、「C:¥Work¥test.txt」というファイルを新規に作成します。
PS > New-Item C:\Work\test.txt -ItemType File ディレクトリ: C:\Work Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/01/18 20:54 0 test.txt
一度に複数のファイルを作成するには?
公式サイトにも例がありますが、-Path パラメータを使用して複数のパスを指定することで、一度に複数のファイルを作成することができます。パスを指定するときはカンマ(,)で区切ります。
以下は C:¥Work1 の下に test.txt を、C:¥Work2 の下に test.txt を一度に作成する例です。
PS > New-Item -ItemType "file" -Path "C:\Work1\test.txt","C:\Work2\test.txt" ディレクトリ: C:\Work1 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/01/18 9:07 0 test.txt ディレクトリ: C:\Work2 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/01/18 9:07 0 test.txt
ワイルドカードを使用して、複数のディレクトリにファイルを作成するには?
公式サイトにも例がありますが、-Path パラメータではワイルドカードがサポートされています。ですので C:¥Work¥* のように指定すると、C:¥Work 配下にあるディレクトリ全てに対してファイルが作成されます。
以下は C:¥Work 配下にあるディレクトリ全てに対して test.txt というファイルを作成する例です。
PS > New-Item -Path C:\Work\* -Name test.txt -ItemType File | Select-Object FullName FullName -------- C:\Work\A\test.txt C:\Work\B\test.txt C:\Work\C\test.txt
ファイル作成時にデータを書き込むには?
先ほどまでの例ですと、データが何もないファイルが作成されます。
ファイル作成と同時にデータを書き込むには、以下の構文の通り -value プロパティを使用します。
New-Item フルパスまたはファイル名 -ItemType File -Value "ファイルに書き込むデータ"
以下は、カレントディレクトリに「test.txt」というファイルを新規に作成すると同時に「TEST」と書き込みます。
PS C:\Users\hiro> New-Item test.txt -ItemType File -Value "TEST" ディレクトリ: C:\Users\hiro Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/01/18 21:08 4 test.txt
すでにファイルが存在する場合の対応
ファイルを新規で作成しようとした時に、同一名のファイルがすでに存在する場合はエラーになってしまいます。例えば以下は test.txt がすでに存在するにも関わらず、新規で作成しようとした場合の例です。
PS C:\Users\hiro> New-Item test.txt -ItemType File -Value "TEST" New-Item : ファイル 'C:\Users\hiro\test.txt' は既に存在します。 発生場所 行:1 文字:1 + New-Item test.txt -ItemType File -Value "TEST" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (C:\Users\hiro\test.txt:String) [New-Item], IOException + FullyQualifiedErrorId : NewItemIOError,Microsoft.PowerShell.Commands.NewItemCommand
すでにファイルがある場合でも、強制的に新規でファイルを作成したい場合もあります。
このような場合は以下のように -Force パラメータを指定します。
PS C:\Users\hiro> New-Item test.txt -ItemType File -Value "TEST" -Force ディレクトリ: C:\Users\hiro Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/01/18 21:18 4 test.txt
コメント