今どきバッチファイルなんて
煽るつもりはなかったんだけどさsuto3.icon
なんくるないさーtakker.icon
うん、大丈夫。ちょうどそろそろ移行していかんとねぇ~と思ってたのよ。逆にイイ起爆剤になった。ありがとう
でも逆に傷付けてしまってたらごめんなさい。
利点と限界がわかっていれば、古い技術を使っても問題ないと思います。技術はあくまで何らかの目的を達成するための手段ですから。
とはいえバッチファイルに限定して考えると……どうなんだろう?
古すぎる(元はMS-DOSベース)古すぎて、最新のWindowsの長所を活かせない
Windowsのコマンドライン(シェル機能)は貧弱で、弱点としてよく指摘されていた
コマンドラインの弱点を払拭するために開発されたのがPowerShell
WSHなんてなかった
Windows Script Hostのこと?そのことを話すと長くなりそう
PowerShellはWindows7から標準で搭載されており、現在のたいていのWindows機で動作する
職場のCAD周りや、受注システム関連、現場の加工機周りはまだまだ.batを使うことが多い。
現場の加工機のNCデータをまとめてUSBメモリに入れる目的
私以外の人は各フォルダのNCデータを手作業でコピペしてる
1フォルダに対して2000のNC
各加工機にLANは設備されてるがアホらしいほどに遅い
(実はこれが気になっている)suto3.icon
アホらしいほどに遅い原因はなんだろう…
超レガシーなアダプタが並列になってるとか?
加工機に触れてないのでわからないが画面を見る限りでは新しいものでWinXPベースで、そもそもデータ入出力はFDD。この時は早かった。それを無理やりLANやらUSBメモリで見れるようにしてる。ルートディレクトリ内のNCデータをサーチするだけで時間掛かっている
リピートの加工品だと図面10数枚に対してNCデータが20個とかになりフォルダの行き来がメンドイので品番もしくは製品管理番号の入力でUSBメモリにコピーされる様にしている
ゆくゆくは番号の入力をバーコードで処理したい
USBバーコードリーダーは高くないよね 
dnin.iconも個人的に欲しい
ビープ音の出ないモデルはあるのか?
たぶん目的
何らかのPC操作を自動化したい
方法
人力
自動化をあきらめる
誰かに頼む
RPA
設計趣旨、何をしているかドキュメントが残ってないと後継の人が大変
GUIでのプログラミング、コード以上に追っていくのが大変かも??
商用モノとなると、ライセンスの管理も必要
本格的なprogramを組む
C++
C#
Java
Node.jsとDenoもtypescriptなら大規模までいける
簡易的なscriptを組む
Perl
非常に雑にかけるのでお勧めできない
書きやすく、読みにくい(今は違うかも)
use strictすればいいと思うbsahd.icon
Ruby
Rubist はいないのかな?
Python
linux環境ならだいたい最初から入っててよさそう(3系なんてなかったいいね?)
Python 2 のサポートはすでに終了しています
Python 3 を使いましょう
Node.js
C# REPL
Deno
非常に雑にかけるのでお勧めtakker.iconkuuote.iconbsahd.icon
shell scriptを組む
Windows only
バッチファイル
PowerShell
Linux or WSL
shell
POSIX対応
bash
zsh
fish shell
fishってfi shellだと思ってた、fish shellだったのか…
自分の観測範囲ではfish shellと呼ばれていますね
fish shell
Friendly Interactive shellだからfi shellと呼ぶのもまあ理にかなって入る
ただ、/emoji/tropical fish.iconでなくなってしまうので、やはりfish shellと呼ぶしかないかな
automation tool
xautotool
あとはこれらの技術のうちどれを採用するか、という話になります。
で、この中からバッチファイルを選ぶ理由があるとしたら、
既存の資産を流用したい
学習コストをかけずに作りたい
programが本業ではない人にとっては、十分あり得ること
バッチファイルの書き方を覚えても応用範囲はあまりない
プログラミングの入門用としては、機能に乏しく、変な癖をつけてしまいがち
OS標準のtoolでなんとかしたい
本件に限ればあまり関係ない
処理が速い
Powershellは(特に初動が)遅いイメージ
かなあ。
頭カチカチになっていまあるコレ(今回はバッチ)で不向きなアレをやろう!みたいなのが不幸を呼ぶ理由だと思っている。。
バッチファイルと戦って時間を無断にしていけないよ。お兄さんとの約束だ。。。
バッチファイルでよく使う書き方まとめ - Qiita
めっちゃ頑張ってたときのやつ
この前バッチファイル書こうとして時間溶かしましたtakker.icon
結局かけなかった
MS-DOSを直接使うのではなく、WSL上のshell scriptから実行ファイルを呼び出せば済むことに気づいたので、そうしてる
bashでexeファイルを呼び出せて便利
Git Bash使ってますbsahd.icon
バッチファイルには度し難い文法があるので初心者には絶対に勧めないSummer498.icon
for や if 等の文内部の変数が for や if 等を読み込んだ時点で評価される
つまり for や if 文内部の変数の挙動が大抵のプログラミング言語に触れた人ほど予想できない挙動をする