.bat ファイルを撲滅しよう☆(^~^)
.bat (バッチ)ファイルというのは 夢のあるやつで、一番よく見かけたのは AUTOEXEC.BAT だろうか☆(^~^)
Windowsと呼ばれるPCより前から こいつは有って、
ただのテキストファイルなんで 自前で作ることもできる☆(^~^)
.bat ファイルを実行するだけで ファイルをコピーしたり、何百台のPCのファイアーウォールの設定を変えたりといった、
ルーチンワークを片付けてくれる☆(^q^)
要は 手で設定していたのを このテキストファイルに書いておけば、自動実行してくれるし、他のPCでも使える(^q^)
どんなにパソコンを使いこなさない日本企業のPC(Windows XPとか)でも Excel と .bat は動く、というぐらい
働き者なやつで、 1つの .bat から いくつもの .bat を実行するような感じで、
1つの実行で 大量の ルーチンワーク を片付けるのに よく使った☆(^~^)
この .bat を撲滅するための期待の新人が .ps1 (Power shellのファイル)で、
このファイルを スクリプトレット と呼ぶらしい☆(^~^)
だいぶ使い慣れてきたので 記事を書き足していきたい☆(^~^)
Task Scheduler から .ps1 を実行できる
ずっと勘違いしていて やり方が分からなかったんだが おそらくできそうだった☆(^~^)
(後日談: やはりできなかった)
WindowsのタスクスケジューラーでPowerShellのスクリプトを実行する際には「パス」に注意
上の記事が詳しい☆(^~^)
その記事を読んで できるのなら わたしは何も説明しなくていい……☆(^~^)
PC再起動時に 自動的に起動するサーバー を作ろうと思って
タスクスケジューラーで「システム起動時に実行」の設定にして PCを再起動すると、
状態は「実行中」で いつまで経っても 終了しなかったり、そうかと思えば 30秒 で処理が完了したりして、
バグの中でも いやらしいバグの上位にくるだろう「バグが出たり出なかったりする」 でも踏んだかと思ったんだが、
8分 ぼけーっと していたら 処理が完了した。
つまり単に 処理が完了するまでに30秒~8分ぐらいかかる、そんなものだ というものだった。
そうか。
一体後ろはどれぐらい伸びるんだろうな。
そして タスクスケジューラーの「システム起動時に実行」するスクリプトに必要な管理者権限を わたしは持っていない気がしてきた。
だったら 成功しないでほしい。 成功したり、成功しなかったりするので、失敗だぜ。
.ps1 から .ps1 を実行できる
もう できると分かれば やりたい放題になってくる。
【Start-Process】PowerShellで別プロセスを起動させる方法
上の記事が詳しい☆(^~^)
例えば nodejs とか pm2 とか使っているなら、
Start-Process -FilePath pm2 -ArgumentList start ./bin/web-server -NoNewWindow -Wait
みたいな感じにする。ファイルパスを合わせるのが一手間なんで よくパスの説明を調べて読んでおかないといけない。
ところで cargo を呼び出せない
rust言語を使っていると、コマンドラインから
cargo clippy
とか打鍵するんだが、これをアイスで実行するとエラーになってしまう。 cargo は実行ファイルではないのか。
// 書きかけ