2019年3月2日土曜日

PowerShellで、任意の日付文字列を付けたフォルダを沢山作りたい

たとえば、写真の整理などで、日付の文字列(2019年3月1日なら20190301、2019年3月なら201903)を付けたフォルダを沢山作りたい!という時、PowerShellならびっくりするくらい簡単です。


0..100|%{ NEW-ITEM ("写真_"+(Get-Date '2018-01-01').AddDays($_).ToString("yyyyMMdd")) -ItemType Directory}

↑たとえば、日付を2018年1月1日から始めるとして、つまり「写真_20180101」フォルダから始めて、毎日分、100日先までのフォルダを作りたい時のコマンドです。


↑一瞬でフォルダが一気に作られました。

この手の作業はコマンドさまさまですね。



0..100|%{ NEW-ITEM ("写真_"+(Get-Date '2018-01-01').AddMonths($_).ToString("yyyyMM")) -ItemType Directory}

↑日数だと細かい場合、日付を2018年1月から始めるとして、「写真201801」フォルダから始めて、毎「月」分、100ヵ月先までのフォルダを作りたい時のコマンドです。


↑またまた一瞬でフォルダが一気に作られました。

PowerShellは、ちょっとだけ凝った事をやりたい時、元々がC#言語から派生したようなコマンドシェルであるため、記述が直感的で分かりやすいのが本当に素晴らしいです。

多少長くともプログラム言語ライクに書く事も出来るし、とにかく、状況に応じて色々な書き方が出来る。

これからプログラミング教育が本格的に世の中でスタートしますが、どのプログラミング言語をすべきか論議するよりも先に、もう何も考えずにPowerShellとJavaScriptをやるべきだと思います。

プログラムの開発現場は、いざという時の緊急対応に即応できないとかなり地獄の業火に包まれるのですが、PowerShellとJavaScriptは、咄嗟の時の逃げ道にもなるので絶対にやっておくべき命の綱です。