この記事では、Powershellのファイル、フォルダの操作(作成、コピー、削除)について説明します。
ファイルの作成
ファイルを作成するには、「New-Item」コマンドレットを使用します。
New-Item構文
New-Item [-Path [ファイルパス]] -ItemType File
Pathパラメータにファイルパスを指定します。「-Path」は省略可能です。
ItemTypeパラメータに「File」を指定します。
使用例1
PS> New-Item C:\temp\new.txt -ItemType File ディレクトリ: C:\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/02/01 21:39 0 new.txt
ファイルを作成するときに、指定文字列をファイルに書き込むこともできます。
使用例2
PS> New-Item C:\temp\new2.txt -ItemType File -Value test ディレクトリ: C:\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/02/01 21:41 4 new2.txt
「new2.txt」というファイルを作成すると同時に、そのファイルに、「test」という文字列を書き込みます。
フォルダの作成
ファイルの作成と同じ、「New-Item」コマンドレットを使用します。
ItemTypeパラメータに「Directory」を指定します。
New-Item構文
New-Item [-Path [ファイルパス]] -ItemType Directory
使用例
PS> New-Item C:\temp\newfolder -ItemType Directory ディレクトリ: C:\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2023/02/01 21:46 newfolder
New-Itemコマンドレットでフォルダを作成した場合、存在しないフォルダは再帰的に作成されます。
上記の使用例で、「C:\temp」フォルダが存在しない場合、New-Itemコマンドレットは「C:\temp」を作成し、その下に「newfolder」フォルダを作成します。
フォルダを作成するだけであれば、コマンドプロンプトで使用する、「mkdir」、「md」がPowershellでも使用できます。
ファイルのコピー
ファイルをコピーするには、「Copy-Item」コマンドレットを使用します。
「Copy-Item」のエイリアスには、「copy」、「cp」がデフォルトで設定されているため、「copy」、「cp」を使用することもできます。
Copy-Item構文
Copy-Item [コピー元のパス] [コピー先のパス] [パラメータ]
使用例
PS> Copy-Item C:\temp\* C:\temp\test -Include *.txt
これは、拡張子が「.txt」のファイルをコピーしています。
フォルダのコピー
フォルダのコピーも「Copy-Item」コマンドレットを使用します。
使用例
PS> Copy-Item C:\temp C:\text -Recurse
「C:¥temp」フォルダを「C:¥test」フォルダにコピーします。
このとき、「Recurse」パラメータを指定しるので、コピーは再帰的に実行されます。
また、「C:¥test」フォルダが存在しない場合は、フォルダが自動的に作成されます。
「Recurse」パラメータを指定しない場合は、中身が空のフォルダをコピーします。
ファイル、フォルダの削除
ファイルの削除は、「Remove-Item」コマンドレットを使用します。
「Remove-Item」のエイリアスには、「del」、「rmdir」、「rm」がデフォルトで設定されています。
Remove-Item構文
Remove-Item [削除対象のパス] [パラメータ]
使用例
PS> Remove-Item C:\temp\test\*.*
これは、拡張子を持たない、「aaa」というようなファイルは削除されません。
「*.*」の代わりに、「*」を指定した場合、「aaa」というファイルは削除されますが、同時に「C:\temp\test」配下のフォルダも削除されます。
またこの使用例では、読み取り専用属性のファイルは削除できません。
読み取り専用属性のファイルも削除する場合は、「Force」パラメータを指定します。
読み取り専用属性のファイルも削除する使用例
PS> Remove-Item C:\temp\test\*.* -Force
フォルダを削除する使用例
PS> Remove-Item C:\temp\test -Recurse
「C:\temp\test」フォルダを削除します。
「Recurse」オプションを指定しない場合、「C:\temp\test」フォルダ配下のサブフォルダを削除するかの確認メッセージが表示されます。
まとめ
今回はPowerShellのファイル、フォルダの作成、コピー、削除について説明しました。