テキストファイルに記載された名前一覧をもとに、フォルダを作成する

ツイッターで見かけたので、bat ファイルの PowerShell 版です。bat ファイルだけで完結するのに敢えて挑戦するのはエンジニアだから仕方がないのです。。。PowerShell なのは何となくです。。。

構成

  • test.txt(フォルダ一覧を記載したデータ。これを、run.batドラッグアンドドロップする)
  • run.bat(受け取った引数を渡しながら、PowerShell に委託。)
  • hogehoge.ps1(メインの処理。同ディレクトリに指定フォルダを作る)

ソース

test.txt

01.aaa
02.bbb
03.ccc

run.bat

@echo off

powershell -NoProfile -ExecutionPolicy Unrestricted .\hogehoge.ps1 "%1"
echo 完了しました!
pause > nul

hogehoge.ps1

using namespace System.IO

$txtFile = $args[0]
if (![File]::Exists($txtFile)) {
    Write-Host "Not Found: " + $txtFile
    Exit
}

$lines = [File]::ReadAllLines($txtFile)
foreach ($line in $lines) {
    New-Item .\$line -ItemType Directory
}