[PowerShell][New-Item] ファイルを作成する

本記事の概要

この記事では、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

コメント

タイトルとURLをコピーしました