読者です 読者をやめる 読者になる 読者になる

雪ん子パースペクティヴ

読むとちょっとタメになるエントリー。

【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 $_

ディレクトリ(フォルダのこと)を、読み込んだ内容の名前で作成します。

 

 

あっさりできてしまいますね。

ちなみに、ファイルを指定する時には、自身がファイルと同じディレクトリにいる必要がありますので、ご注意ください。

(ディレクトリ移動するのが嫌な方は、パスを指定してあげてください)

 

 

以上。