【PowerShell】foreachで一気にフォルダを作る

【PowerShell】foreachで一気にフォルダを作る

はじめに

コジマです。

実務では、プロジェクト管理のために同一のフォルダ構成を都度作成する必要があったりします。

都度同様のフォルダを手作業で作成するのももってのほかだし、
同様のフォルダコピーしてから不要なファイルを消すっていうのも微妙で。

まあ自動化できるよね、ってことでやっていきたいと思います。

想定・簡単な仕様

今回は、システムの保守対応の案件ごとにフォルダを作成するという想定で、

というフォルダ構成を作成することにします。
「XX_案件名」は「01_組織の一括変更」としてみます。

PowerShellだとネットワーク越し(\XXX.XXX.XXX.XXX なやつ)
にもコマンド通せるので応用利かせることできます。

実装

実装は以下の通り

ポイント

New-Item

New-Itemでフォルダを作成します。
-ItemType Directory というオプションをつけることでフォルダの作成ができます。
何もつけないとファイルができます。

Join-Path

Join-Pathでパスを結合します。
Join-Pathについては以前記事を書いています。

参考
【PowerShell】Join-Pathでスマートにパスを連結しよう

foreach

foreachを使用して配列の要素をループできます。
なにかしらプログラミング言語を触った経験のある人にとっては
とても便利に感じると思います。

バッチだとループの仕方が複雑になるので、その扱いが楽になるところは
PowerShellの強みだと思います。

補足

PowerShellを編集するとき、テキストを開くより重たくなるので、
これをテキストで保存して初期値を変えていくか
初期値だけ別ファイルに持たせておくと良いでしょう。

私は自分がちょっとでも仕事楽できればいいモチベーションでいるので
似たものをテキストで保存し、PowerShellにコピペで実行しています。

さいごに

実は全然難しいことやってないんですよね。
観点の持ち方ひとつで普段の仕事を少しだけ楽にできます。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


PowerShellカテゴリの最新記事