Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!
今回は、PowerShell のコマンドを書くにあたってまず覚えておいたほうが良いと思う内容を書きました。
基本的な内容ばかりですが、今後はよく使う内容になりますので、実際手で入力して覚えておくと良いかと思います。
コメントを書く場合
コマンドに補足説明(またはコメント)を書きたい場合があるかと思います。
例えば、このコマンドがどういう目的なのか、どういう処理なのかといった内容などです。
コメントを書きたい時は、先頭に #(シャープ)を入力します。
[code language="powershell"]
# ここにコメントを入力します。
Get-Service
[/code]
複数行でコメントを書きたい時は、以下のように書きます。
[code language="powershell"]
<# コメントここから コメントここまで #>
Get-Service
[/code]
ディレクトリの表示・移動
現在のディレクトリの場所を確認したい場合は、以下のコマンドを使います。
以降は、現在のディレクトリはカレントディレクトリという言葉に置き換えますね。
[code language="powershell"]
# カレントディレクトリを表示する
PS C:\Users\Administrator> Get-Location
Path
----
C:\Users\Administrator
[/code]
現在のディレクトリの場所から移動したい場合は、以下のコマンドを使います。
[code language="powershell"]
# カレントディレクトリを移動する
PS C:\Users\Administrator> Set-Location C:\temp\powershell
PS C:\temp\powershell>
[/code]
現在の時刻を表示したい場合、以下のコマンドを使います。
[code language="powershell"]
# 現在の時刻を表示する
PS C:\Users\Administrator> Get-Date
2018年5月14日 10:13:12
[/code]
カレントディレクトリにあるファイルやフォルダを表示する場合は、以下のコマンドを使います。
[code language="powershell"]
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
[/code]
カレントディレクトリにあるファイルやフォルダと、フォルダ内にある全てのファイルやフォルダを表示する場合は、以下のコマンドを使います。
-Recurse は "再帰的" という意味になります。Google で検索すれば色々な説明が出てきますが、ここでは簡単に「木の幹から枝まで表示する」という表現にしておきます。
つまり、カレントディレクトリが木の幹とし、カレントディレクトリから下は枝として表示するという意味になります。
[code language="powershell"]
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
[/code]
特定のフォルダのディレクトリを表示したい場合は、以下のコマンドを使います。
[code language="powershell"]
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
[/code]
コンソールの表示
コンソールに表示したい場合は、以下のコマンドを使います。
例えば、単純に説明などを表示させたり、または何かの処理で選択肢 (1 , 2 , 3 ,4 ) を表示させて、選択したものを実行するといった場合などに使います。
[code language="powershell"]
PS C:\temp\powershell> Write-Output "コンソールに文字を表示する";
コンソールに文字を表示する
[/code]
または以下のコマンドでも同じ結果が表示されます。
ここでは、「とりあえず同じ結果が表示できる」くらいの理解で良いのではないかと思います。
[code language="powershell"]
PS C:\temp\powershell> Write-Host"コンソールに文字を表示する";
コンソールに文字を表示する
[/code]
コンソールに表示されている内容を消去したい場合は、以下のコマンドを使います。
[code language="powershell"]
PS C:\temp\powershell> Clear-Host
[/code]
ファイルの処理
ファイル・フォルダのコピー
ファイルやフォルダを別のディレクトリにコピーしたい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー1 内にある、サンプルファイル1.txt を
テストフォルダー2 のサブフォルダー1 内にコピーします。
[code language="powershell"]
Copy-Item -Path .\テストフォルダー1\サブフォルダー1\サンプルファイル1.txt -Destination .\テストフォルダー2\サブフォルダー1
[/code]
実行前
実行後
特定のフォルダ内にあるファイルやフォルダを全てコピーしたい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー2 内にある、全てのファイルを
テストフォルダー2 のサブフォルダー2 内にコピーします。-Recurse は先ほど出てきた内容と同じ意味です。「木の枝までコピーする」という意味になります。
[code language="powershell"]
Copy-Item -Path .\テストフォルダー1\サブフォルダー2\* -Destination .\テストフォルダー2\サブフォルダー2\ -Recurse
[/code]
実行前
実行後
ファイル・フォルダの移動
ファイルやフォルダを別のディレクトリに移動したい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー1 内にある、サンプルファイル1.txt を
テストフォルダー2 のサブフォルダー1 内に移動します。
[code language="powershell"]
Move-Item -Path .\テストフォルダー1\サブフォルダー1\サンプルファイル1.txt -Destination .\テストフォルダー2\サブフォルダー1
[/code]
実行前
実行後
ファイルやフォルダを別のディレクトリに移動して別名にしたい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー1 内にある、サンプルファイル2.txt を
テストフォルダー2 のサブフォルダー1 内に移動し、別のファイル名に変更します。
[code language="powershell"]
Move-Item -Path .\テストフォルダー1\サブフォルダー1\サンプルファイル2.txt -Destination .\テストフォルダー2\サブフォルダー1\新サンプルファイル1.txt
[/code]
実行前
実行後
ファイル・フォルダの名前変更
ファイルやフォルダを別のファイル名・フォルダ名に変更したい場合は、以下のコマンドを使います。
ここでは、テストフォルダー1 のサブフォルダー2 を別のフォルダ名に変更します。
[code language="powershell"]
Rename-Item -Path .\テストフォルダー1\サブフォルダー2\ -NewName 新サブフォルダー1
[/code]
実行前
実行後
ファイル・フォルダの削除
ファイルやフォルダを削除する場合は、以下のコマンドを使います。
ここではテストフォルダー2 のサブフォルダー1 内にある、サンプルファイル1 を削除します。
[code language="powershell"]
Remove-Item -Path .\テストフォルダー2\サブフォルダー1\サンプルファイル1.txt
[/code]
実行前
実行後
フォルダとその中にあるファイルを全てを削除する場合は、以下のコマンドを使います。
[code language="powershell"]
Remove-Item -Path .\テストフォルダー2\サブフォルダー2 -Recurse
[/code]
実行前
実行後
その他のコマンド
コマンドの詳細を見たい場合は、以下のコマンドで確認できます。
[code language="powershell"]
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 を参照してください。
[/code]
今まで実行したコマンドの履歴を見たい場合は、以下のコマンドで確認できます。
[code language="powershell"]
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
[/code]
今まで実行したコマンドの履歴を消去したい場合は、以下のコマンドを実行します。
[code language="powershell"]
PS C:\temp\powershell> Clear-History
Id CommandLine
-- -----------
34 Clear-History
[/code]
以上、結構な量になりましたので、早見表のような形で、以下に纏めておきました。
コマンドレット | 説明 |
---|---|
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 |
コマンドの履歴を削除する |
いかがでしょうか。主にディレクトリ操作とファイルの処理の内容になりましたが、お役に立てれば幸いです。
では最後までお読みいただきありがとうございました!
おすすめの本はこちら ↓↓↓