LoginSignup
1
0

More than 5 years have passed since last update.

Power shell を使おうぜ☆(^~^)<その2>

Last updated at Posted at 2019-02-25

.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-server.ps1
Start-Process -FilePath pm2 -ArgumentList start ./bin/web-server -NoNewWindow -Wait

みたいな感じにする。ファイルパスを合わせるのが一手間なんで よくパスの説明を調べて読んでおかないといけない。

ところで cargo を呼び出せない

rust言語を使っていると、コマンドラインから

cargo clippy

とか打鍵するんだが、これをアイスで実行するとエラーになってしまう。 cargo は実行ファイルではないのか。

// 書きかけ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0