excelを使って複雑な名前のスクリプトを簡単に作成する備忘録(※トライ&エラーあり)

excelを使って複雑な名前のスクリプトを簡単に作成する備忘録(※トライ&エラーあり)

以下の手順と名前をそのままやるとエラーになります。
記事内でトライ&エラーをしつつ成功に持っていっているのでやってみたい方はどうぞ!

 

 

項目を組み合わせた名前のファイルを作ってくれ!という依頼

表に書かれている項目が複数あるとします。
それらを組み合わせた名前のシェルスクリプトを作成してくださいと依頼があるとしましょう。
何を言っているかというと、

こんな感じ。
それぞれの行に対して一つのファイルを作りましょうという例をとります。
例えば1行目→No1,hokkaido,1234.ps1
ちなみにスクリプトの中身については今回全く触れません(笑)。
なので適当にtest1(インクリメント)にしますね(笑)。

こんな時どうしますか?一つ一つ組み合わせて手打ちで作成しますか?
この表は10個しかないのでなんとかなりますが1000個の項目があったらどうしましょう。
時間がいくらあっても足りないですよね。

そこでエクセルの技を使ってあっという間に作成しちゃいたいと思います。

やり方

まず、適当なところに「.ps1」を作ります。今回は横の列にしました。

 

次に「&」を使ってそれぞれのセルを繋ぎます。
区切り文字の「,」を忘れずに。

 

区切り文字「,」は”(ダブルクォーテーション)で囲まないとエラーになります。
これでエンターを押してオートフィルを引っ張ると・・・

 

 

できました!
一応要件はこれで満たせたわけですが特定のフィルダにこれらのスクリプトを配置する手順を付け加えます。
スクリプトの中身は何も入っていないですが今回test1(インクリメント)を入れることにしたのですべてのスクリプトに
test1(インクリメント)を書き込みつつ、特定のフォルダに配置します。

まず、echoをエクセルに書き並べ、test1(インクリメント)を横に並べます。
次にリダイレクト「>」を配置し先ほど作成したファイル名群を指定してやります。
最後に先ほどと同じように「&」で文字をくっつけましょう。

 

これで準備万端です。メモ帳か何かに出来たコマンドを張り付けて拡張子を.batにして配置したいフォルダに保存。

 

 

 

作成したbatを実行してみましょう!
・・・うまくいきません!!

どうやら区切り文字の「,」が悪さをしている模様。
そりゃそうか。。
ということで「,」を「”,”」にします。
エクセルで置換したほうが早そうだったので置換します。

 

 

これでいけるでしょう・・・。実行してみます。

出来ました!!
実はここでもおかしなところがありますが同じ手順でやってみた方はぜひ自分でエラー箇所を探してみてください。(最後の画像は修正後の成功例です。)

最後に

基本的なところですがよくある作業だと思います。
実際に上の手順でやっていくとエラーになるのでどこが悪いのか切り分けも自分でしてみてください。
修正したら再実行、を繰り返すことで形になっていきます。
エンジニアはトライ&エラーが肝ですので自分でなんとかできるタフさが欲しいですね。

リダイレクトの部分はLPICレベル1で出てきますので「おっ」と思った方もいるかもしれません。
実際に使う場面はこういうところなんだなーと認識しておくと就職した時に手際よく作業できるでしょう。

ITカテゴリの最新記事

%d人のブロガーが「いいね」をつけました。
TOP