※この記事は「2023年8月1日」に更新しました。
PowerShell(パワーシェル)講座です。
環境は、Windows 10(64bit)、PowerShell 6.1.2 です。
複数フォルダを高速で作成する
複数フォルダを高速で作成する方法 を紹介します。
New-Item を使う
New-Item を使って、フォルダを作成していきます。
New-Item 20200110 -ItemType Directory
この場合、カレントディレクトリに 20200110 という名前のフォルダが作成されます。
Excel(エクセル)のオートフィル機能を使う
Excel(エクセル)のオートフィル機能を使って、規則性のある連続したデータを作成します。
ちなみに私は現在、Excel を持っていないので、Kingsoft Spreadsheets を使っていきます(WPS Office)。
例えば、20200101~20200131 といったように1日ごとにフォルダ分けを行う場合。
次にセルの書式設定で文字列にしておきます。
オートフィル機能を使って、20200131 まで引っ張って作成します。
次に 20200101 の隣のセルに以下のように入力します。
=”New-Item “& A1 &” -ItemType Directory”
あとは、このセルを同じようにオートフィル機能を使って、20200131 まで引っ張ります。
エディタを開いて、コピペします。
念のため、PowerShell 側で実行ポリシーを確認します。
Get-ExecutionPolicy
すると以下のようになりました。
RemoteSigned
PowerShell Core ということもあって、デフォルトで RemoteSigned(署名付きスクリプト、ローカル保存自作スクリプト実行可能)でした。
この状態だと問題なくスクリプトを実行できます。
ちなみに Windows PowerShell の場合、デフォルトは Restricted(すべてのスクリプトが実行禁止)なので、実行ポリシーを変更する必要があります。
先程、保存したスクリプト(拡張子 ps1)の先頭に以下のコマンドレットを追加しておきましょう。
Set-Location フォルダを作成したい場所のフルパス
フォルダを作成したい場所のフルパスは、自分の環境に合わせて入力してください。
あとは、保存して、PowerShell側で実行してあげれば、20200101~20200131 まで、合計31個のフォルダが一瞬で作成されます。
複数フォルダの作成は、コマンドプロンプトでも実現可能
今回の内容は、コマンドプロンプトでも実現可能です。
20200101 の隣のセルに以下のように入力します。
"md "&A1
同じようにオートフィル機能を使って、20200131 まで引っ張ります。
このバッチファイルは、フォルダを作成したい場所に置いてあげれば良いでしょう。
最後に
前回は、実行ポリシーについて紹介しました。
今回は、複数フォルダを高速で作成する方法について、解説しました。
PowerShell というよりは、Excel(エクセル)の凄さを実感したのではないでしょうか?
ただ、親切機能で書式が色々あるので、そこだけ注意が必要です。