PowerShellの活用例を紹介!PowerShellを正しく使いこなそう!

PowerShellの活用例を紹介!PowerShellを正しく使いこなそう!のアイキャッチイメージ

PowerShellの活用例を紹介します!

今回は、PowerShellの活用例を紹介します。

ここでは、以下について紹介します。
・連番のフォルダ作成
・ログ監視
・xmlファイルの操作
・csvファイルの集計
・ファイル名の一括変更
・同名ファイル一覧作成

PowerShellの活用例に興味のある方はぜひご覧ください。

連番のフォルダ作成

PowerShellの活用例として、連番のフォルダ作成について紹介します。

実際のコマンドを見てみましょう。

ディレクトリ: C:\test

Mode LastWriteTime Length Name
—- ————- —— —-
d—– 2020/11/16 20:56 folder_001
d—– 2020/11/16 20:56 folder_002
d—– 2020/11/16 20:56 folder_003

(中略)

d—– 2020/11/16 20:56 folder_098
d—– 2020/11/16 20:56 folder_099
d—– 2020/11/16 20:56 folder_100

PS C:\>

1~100の連番フォルダが作成されていることが分かります。

ログ監視

PowerShellの活用例として、ログ監視について紹介します。

実際のコマンドを見てみましょう。

“.\test\test.log”をテキストエディタで開き、何か文字列を入力して保存してみてください。
errorまたはERRORを含む文字列を入力して保存すると、コンソール出力されることが分かります。

xmlファイルの操作

PowerShellの活用例として、xmlファイルの操作について紹介します。

以下のようなxmlファイルを扱います。

実際のコマンドを見てみましょう。

実行結果は以下のようになります。

csvファイルの集計

PowerShellの活用例として、csvファイルの集計について紹介します。

実際のコマンドを見てみましょう。

Name Age
—- —
ichiro 23
taro 25
jiro 31
saburo 34

PS C:\> Import-Csv .\test\test.csv | Measure-Object -Property Age -Average -Sum -Maximum -Minimum

Count : 4
Average : 28.25
Sum : 113
Maximum : 34
Minimum : 23
Property : Age

PS C:\>

csvファイルの集計が簡単に行えます。

ファイル名の一括変更

PowerShellの活用例として、ファイル名の一括変更について紹介します。

実際のコマンドを見てみましょう。

ディレクトリ: C:\test

Mode LastWriteTime Length Name
—- ————- —— —-
-a—- 2020/11/16 21:42 0 file01.txt
-a—- 2020/11/16 21:42 0 file02.txt
-a—- 2020/11/16 21:42 0 file03.txt
-a—- 2020/11/16 21:42 0 file04.txt
-a—- 2020/11/16 21:42 0 file05.txt

PS C:\> Get-ChildItem .\test\ | Rename-Item -NewName { $_.Name -replace ‘file’,’file_’}
PS C:\> Get-ChildItem .\test\

ディレクトリ: C:\test

Mode LastWriteTime Length Name
—- ————- —— —-
-a—- 2020/11/16 21:42 0 file_01.txt
-a—- 2020/11/16 21:42 0 file_02.txt
-a—- 2020/11/16 21:42 0 file_03.txt
-a—- 2020/11/16 21:42 0 file_04.txt
-a—- 2020/11/16 21:42 0 file_05.txt

PS C:\>

ファイル名が一括で変更されていることが分かります。

同名ファイル一覧の作成

PowerShellの活用例として、同名ファイル一覧の作成について紹介します。

実際のコマンドを見てみましょう。

ディレクトリ: C:\test\folder01

Mode LastWriteTime Length Name
—- ————- —— —-
-a—- 2020/11/16 21:42 0 file_01.txt
-a—- 2020/11/16 21:42 0 file_02.txt
-a—- 2020/11/16 21:42 0 file_03.txt
-a—- 2020/11/16 21:42 0 file_04.txt
-a—- 2020/11/16 21:42 0 file_05.txt

ディレクトリ: C:\test\folder02

Mode LastWriteTime Length Name
—- ————- —— —-
-a—- 2020/11/16 21:42 0 file_03.txt
-a—- 2020/11/16 21:42 0 file_05.txt
-a—- 2020/11/16 21:42 0 file_09.txt
-a—- 2020/11/16 21:42 0 file_12.txt
-a—- 2020/11/16 21:42 0 file_15.txt

ディレクトリ: C:\test\folder03

Mode LastWriteTime Length Name
—- ————- —— —-
-a—- 2020/11/16 21:42 0 file_01.txt
-a—- 2020/11/16 21:42 0 file_03.txt
-a—- 2020/11/16 21:42 0 file_05.txt
-a—- 2020/11/16 21:42 0 file_06.txt
-a—- 2020/11/16 21:42 0 file_07.txt

PS C:\> Get-ChildItem .\test\ -File -Recurse | Group-Object Name -CaseSensitive | Where-Object { $_.Count -gt 1 } | foreach { $_.Group | Sort-Object Directory -CaseSensitive | Select-Object FullName }

FullName
——–
C:\test\folder01\file_01.txt
C:\test\folder03\file_01.txt
C:\test\folder01\file_03.txt
C:\test\folder02\file_03.txt
C:\test\folder03\file_03.txt
C:\test\folder01\file_05.txt
C:\test\folder02\file_05.txt
C:\test\folder03\file_05.txt

PS C:\>

指定フォルダ配下の同名ファイルがフルパスで一覧表示されることが分かります。

まとめ

いかがでしたでしょうか。PowerShellの活用例を紹介しました。PowerShellは自由度が高いので、ここに書いてある活用例以外にも様々なことが実現できます。

ぜひご自身でコマンドを書き、理解を深めてください。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。