【Powershell】テキストを1行ずつ読み込み、そのテキストのフォルダを作成する。
単純作業はパソコンにお任せで。
でも、時間がかかっているように見せかけて。
はろー、yukiです。
仕事でどうしても出てくるのが、単純作業(=力技)です。
今回は、「テキストの内容を1行ずつ読み込み、フォルダを作成する」タスクを、あっという間に終えてしまうコマンドをご紹介。
Windows系のPCを使用したので、Powershellです。
まずはこちら。
1 営業部_Aさん 2 営業部_Bさん 3 経理部_Cさん 4 総務部_Dさん . . .
というテキストファイルがあったとします。
(例えば、社員名簿のExcelデータから「部署」と「氏名」を取り出し、二つのキーの間に「_(アンダーバー)」を入れている場合)
ーーーーーーーーーー
想定されるエピソードとしては...。
あるプロジェクトで、参加者ごとのフォルダを作成し、そのフォルダに個々が提出するファイル(勤怠表のコピーや書類のスキャンなど)を集めます。
ーーーーーーーーーー
ここに、「中身のない空フォルダを複数作成する」タスクが生まれるわけです。
テキストをコピーし、「新しいフォルダ―」を作成してペーストしていくのも良いですが、数が多いほど時間がかかりますね。
その無駄な時間を省略するコマンドを下記に。
Get-Content makefile.txt | Foreach-Object { New-Item -ItemType directory -Name $_ }
※ここでもう使用したい人は、「makefile.txt」を任意のファイル名に変更してください。
それでは、順番にコマンドの説明をします。
・Get-Content
指定したファイルの内容を読み込みます。
・Foreach-Object
{}の中を繰り返し行います。
・New-Item -ItemType directory -Name $_
ディレクトリ(フォルダのこと)を、読み込んだ内容の名前で作成します。
あっさりできてしまいますね。
ちなみに、ファイルを指定する時には、自身がファイルと同じディレクトリにいる必要がありますので、ご注意ください。
(ディレクトリ移動するのが嫌な方は、パスを指定してあげてください)
Powershellのクックブックはこちら。
以上。