2013年11月12日火曜日

[memo][PowerShell]違う名前のフォルダをたくさん作りたい時

免責:

素人のメモなので、問題が起こっても知らないです。とりあえずファイルを消したりすることはないとおもうけど、職場のサーバーとかで試してトラブっても知りません。自分で調べてください。

Scope:

Windows7 or laterでいろいろな名前のフォルダをとりあえず作りたい時。名前のリストがExcelなどで手に入ることが前提。

準備:

名前リストの作成。Excel等元データからフォルダ名にしたいものをメモ帳にでも貼り付けて保存する。このデータを配列に入れるが、カンマなどは不要でそれぞれ改行で区切る。フォルダを作りたいカレントディレクトリに保存する。
とりあえず"¥foldername.txt"としたとする。

作業:

まず、フォルダ名のリストを作る。

$a = GetContent .¥foldername.txt

GetContentというのが、テキストファイルなどの中身を配列に入れるやつらしい。単純に改行コードをみて配列に入れている模様。

次に、次のコードを実行する。

foreach($b in $a){New-Item -name $b -type directory}

これでカレントディレクトリにfodername.txtに列挙された名前のフォルダがずらずらと出来る。forとかそういうループを使わずとも配列の数だけ勝手にループしてくれるのがforeachのいいところみたいだけど、($b in $a)の記述の意味がよくわかってない。中身はいろいろ書き換えられるので、このセンテンスを覚えておくといろいろ応用が聞きそう。

いろいろな名前のフォルダを作らないといけなくて、その名前のリストは手に入るけど、同じような仕事が何度か発生する事が見えていたからちょっと調べた。フォルダを手作業でつくるのは想像を絶するめんどくささであったのと、仕事のフェーズごとにフォルダの頭に番号を付けたフォルダたちを作らないといけないとかあったので、この手のメモしておきたかった。フォルダ名に日付を入れたりするのも簡単に出来るみたいなので、あとはスクリプトの作り方を覚えてルーチンで生じる作業は簡略化したい。

0 件のコメント:

コメントを投稿