SEブログ
【PowerShell】基本的なコマンドレットの一覧について
こんにちは!
今回は、PowerShell のコマンドを書くにあたってまず覚えておいたほうが良いと思う内容を書きました。
基本的な内容ばかりですが、今後はよく使う内容になりますので、実際手で入力して覚えておくと良いかと思います。
目次
スポンサーリンク
コメントを書く場合
コマンドに補足説明(またはコメント)を書きたい場合があるかと思います。
例えば、このコマンドがどういう目的なのか、どういう処理なのかといった内容などです。
コメントを書きたい時は、先頭に #(シャープ)を入力します。
# ここにコメントを入力します。 Get-Service
複数行でコメントを書きたい時は、以下のように書きます。
<# コメントここから コメントここまで #> Get-Service
スポンサーリンク
ディレクトリの表示・移動
現在のディレクトリの場所を確認したい場合は、以下のコマンドを使います。
以降は、現在のディレクトリはカレントディレクトリという言葉に置き換えますね。
# カレントディレクトリを表示する PS C:\Users\Administrator> Get-Location Path ---- C:\Users\Administrator
現在のディレクトリの場所から移動したい場合は、以下のコマンドを使います。
# カレントディレクトリを移動する PS C:\Users\Administrator> Set-Location C:\temp\powershell PS C:\temp\powershell>
現在の時刻を表示したい場合、以下のコマンドを使います。
# 現在の時刻を表示する PS C:\Users\Administrator> Get-Date 2018年5月14日 10:13:12
カレントディレクトリにあるファイルやフォルダを表示する場合は、以下のコマンドを使います。
PS C:\temp\powershell> Get-ChildItem ディレクトリ: C:\temp\powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018/05/14 10:19 テストフォルダー1 d----- 2018/05/14 10:19 テストフォルダー2 -a---- 2018/05/14 10:20 7 practice_command.ps1
カレントディレクトリにあるファイルやフォルダと、フォルダ内にある全てのファイルやフォルダを表示する場合は、以下のコマンドを使います。
-Recurse は “再帰的” という意味になります。Google で検索すれば色々な説明が出てきますが、ここでは簡単に「木の幹から枝まで表示する」という表現にしておきます。
つまり、カレントディレクトリが木の幹とし、カレントディレクトリから下は枝として表示するという意味になります。
PS C:\temp\powershell> Get-ChildItem -Recurse ディレクトリ: C:\temp\powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018/05/14 10:26 テストフォルダー1 d----- 2018/05/14 10:19 テストフォルダー2 -a---- 2018/05/14 10:20 7 practice_command.ps1 ディレクトリ: C:\temp\powershell\テストフォルダー1 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018/05/14 10:27 サブフォルダー1 d----- 2018/05/14 10:26 サブフォルダー2 ディレクトリ: C:\temp\powershell\テストフォルダー1\サブフォルダー1 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2018/05/14 10:26 0 サンプルファイル1.txt -a---- 2018/05/14 10:26 0 サンプルファイル2.txt
特定のフォルダのディレクトリを表示したい場合は、以下のコマンドを使います。
PS C:\temp\powershell> Get-ChildItem -Path ./テストフォルダー1 ディレクトリ: C:\temp\powershell\テストフォルダー1 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018/05/14 10:27 サブフォルダー1 d----- 2018/05/14 10:26 サブフォルダー2
コンソールの表示
コンソールに表示したい場合は、以下のコマンドを使います。
例えば、単純に説明などを表示させたり、または何かの処理で選択肢 (1 , 2 , 3 ,4 ) を表示させて、選択したものを実行するといった場合などに使います。
PS C:\temp\powershell> Write-Output "コンソールに文字を表示する"; コンソールに文字を表示する
または以下のコマンドでも同じ結果が表示されます。
ここでは、「とりあえず同じ結果が表示できる」くらいの理解で良いのではないかと思います。
PS C:\temp\powershell> Write-Host"コンソールに文字を表示する"; コンソールに文字を表示する
コンソールに表示されている内容を消去したい場合は、以下のコマンドを使います。
PS C:\temp\powershell> Clear-Host
スポンサーリンク
ファイルの処理
ファイル・フォルダのコピー
ファイルやフォルダを別のディレクトリにコピーしたい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー1 内にある、サンプルファイル1.txt を
テストフォルダー2 のサブフォルダー1 内にコピーします。
Copy-Item -Path .\テストフォルダー1\サブフォルダー1\サンプルファイル1.txt -Destination .\テストフォルダー2\サブフォルダー1
実行前
実行後
特定のフォルダ内にあるファイルやフォルダを全てコピーしたい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー2 内にある、全てのファイルを
テストフォルダー2 のサブフォルダー2 内にコピーします。-Recurse は先ほど出てきた内容と同じ意味です。「木の枝までコピーする」という意味になります。
Copy-Item -Path .\テストフォルダー1\サブフォルダー2\* -Destination .\テストフォルダー2\サブフォルダー2\ -Recurse
実行前
実行後
ファイル・フォルダの移動
ファイルやフォルダを別のディレクトリに移動したい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー1 内にある、サンプルファイル1.txt を
テストフォルダー2 のサブフォルダー1 内に移動します。
Move-Item -Path .\テストフォルダー1\サブフォルダー1\サンプルファイル1.txt -Destination .\テストフォルダー2\サブフォルダー1
実行前
実行後
ファイルやフォルダを別のディレクトリに移動して別名にしたい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー1 内にある、サンプルファイル2.txt を
テストフォルダー2 のサブフォルダー1 内に移動し、別のファイル名に変更します。
Move-Item -Path .\テストフォルダー1\サブフォルダー1\サンプルファイル2.txt -Destination .\テストフォルダー2\サブフォルダー1\新サンプルファイル1.txt
実行前
実行後
ファイル・フォルダの名前変更
ファイルやフォルダを別のファイル名・フォルダ名に変更したい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー2 を別のフォルダ名に変更します。
Rename-Item -Path .\テストフォルダー1\サブフォルダー2\ -NewName 新サブフォルダー1
実行前
実行後
ファイル・フォルダの削除
ファイルやフォルダを削除する場合は、以下のコマンドを使います。
ここではテストフォルダー2 のサブフォルダー1 内にある、サンプルファイル1 を削除します。
Remove-Item -Path .\テストフォルダー2\サブフォルダー1\サンプルファイル1.txt
実行前
実行後
フォルダとその中にあるファイルを全てを削除する場合は、以下のコマンドを使います。
Remove-Item -Path .\テストフォルダー2\サブフォルダー2 -Recurse
実行前
実行後
スポンサーリンク
その他のコマンド
コマンドの詳細を見たい場合は、以下のコマンドで確認できます。
Get-Help Remove-Item -Detailed 名前 Remove-Item 構文 Remove-Item [-Path] <string[]> [<CommonParameters>] Remove-Item [<CommonParameters>] パラメーター -Confirm -Credential <pscredential> -Exclude <string[]> -Filter <string> -Force -Include <string[]> -LiteralPath <string[]> -Path <string[]> -Recurse -Stream <string[]> -UseTransaction -WhatIf <CommonParameters> このコマンドレットは、次の共通パラメーターをサポートします: Verbose、 Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、 OutBuffer, PipelineVariable、および OutVariable。詳細については、 about_CommonParameters (https://go.microsoft.com/fwlink/?LinkID=113216) を参照してください。 エイリアス ri rm rmdir del erase rd 注釈 Get-Help を実行しましたが、このコンピューターにこのコマンドレットのヘルプ ファイルは見つかりませんでした。ヘルプの一部だけが表示されています。 -- このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインストールするには、Update-Help を使用してください。 -- このコマンドレットのヘルプ トピックをオンラインで確認するには、「Get-Help Remove-Item -Online」と入力するか、 https://go.microsoft.com/fwlink/?LinkID=113373 を参照してください。
今まで実行したコマンドの履歴を見たい場合は、以下のコマンドで確認できます。
PS C:\temp\powershell> Get-History Id CommandLine -- ----------- 1 Get-ChildItem 2 Set-Location C:\temp\powershell 3 Get-ChildItem 4 Get-ChildItem -Recurse 5 Get-ChildItem -Path ./テストフォルダー1 ... 28 Rename-Item -Path .\テストフォルダー1\サブフォルダー2\ -NewName 新サブフォルダー1 29 Remove-Item -Path .\テストフォルダー2\サブフォルダー1\サンプルファイル1.txt 30 Remove-Item -Path .\テストフォルダー2\サブフォルダー2 -Recurse 31 Get-Help Remove-Item 32 Get-Help Remove-Item -Detailed
今まで実行したコマンドの履歴を消去したい場合は、以下のコマンドを実行します。
PS C:\temp\powershell> Clear-History Id CommandLine -- ----------- 34 Clear-History
以上、結構な量になりましたので、早見表のような形で、以下に纏めておきました。
コマンドレット | 説明 |
---|---|
Get-Location |
現在のディレクトリの場所を確認する |
Set-Location |
現在のディレクトリの場所から移動する |
Get-Date |
現在の時刻を表示する |
Get-ChildItem |
カレントディレクトリにあるファイルやフォルダを表示する |
Get-ChildItem -Recurse |
カレントディレクトリにあるファイルやフォルダと、フォルダ内にある全てのファイルやフォルダを表示する |
Get-ChildItem -Path |
特定のフォルダのディレクトリを表示する |
Write-Output "コンソールに文字を表示する内容" |
コンソールに文字を表示する |
Write-Host "コンソールに文字を表示する" |
コンソールに文字を表示する |
Clear-Host |
コンソールに表示されている内容を消去する |
Copy-Item -Path コピー元のパス -Destination コピー先のパス |
ファイルやフォルダを別のディレクトリにコピーする |
Copy-Item -Path コピー元のパス -Destination コピー先のパス -Recurce |
フォルダとその下のファイルやフォルダ含めた全てを別のディレクトリにコピーする |
Move-Item -Path 移動元のパス -Destination 移動先のパス |
ファイルやフォルダを別のディレクトリに移動する |
Move-Item -Path 移動元のパス\ファイル名 -Destination 移動先のパス\変更したいファイル名 |
ファイルを別のディレクトリに移動してファイル名を変更する |
Rename-Item フォルダまたはファイル名 -NewName 変更先のフォルダ名またはファイル名 |
ファイルやフォルダを別のファイル名・フォルダ名に変更する |
Remove-Item -Path フォルダまたはファイル名 |
ファイルやフォルダを削除する |
Remove-Item -Path フォルダ -Recurce |
フォルダとその中にあるファイルを全てを削除する |
Get-Help Remove-Item -Detailed |
コマンドの詳細を見る |
Get-History |
コマンドの履歴を見る |
Clear-History |
コマンドの履歴を削除する |
いかがでしょうか。主にディレクトリ操作とファイルの処理の内容になりましたが、お役に立てれば幸いです。
では最後までお読みいただきありがとうございました!
おすすめの本はこちら ↓↓↓