新人SE山本の学習履歴

2019/07~ 札幌市内でSEやってます。業務中にハマったことや、今後役立ちそうな知識を自分向けに記事に残していきます。

2020/04/01

最近サブで使っていたノートPCを使う頻度が増え、画面が小さく首も痛くなってきたため、メインPCとこれとでディスプレイを共用することに。一々コンパネからマルチディスプレイ設定変えるの面倒だったので、バッチファイルを作成したのでその経過。

 

f:id:YAMATOMA:20200402005911p:plain

バッチ作成は何だかんだで未経験だったので、軽くまとめる。

①【@echo off】 

echoコマンドは対話させるための文字列出力。これがデフォでONになっていので、最初にoffにして余計なソースコード見せないように。

offにする方法は二通りで、コマンド前に@つけるか、echo offとするか。後者だとそれ以降はechoされなくなるが、echo offコマンド自体がechoされてしまうので、それを防ぐための【@echo off】

②【set オプション】

/P:ユーザーが入力した値を代入

/A:右側の数式の評価結果を代入

③【変数】

変数設定: set INPUT_MODE= で初期化。=との間にスペースあると空白含みの値が代入されるので注意。

参照:変数名の前後に%が必要。 set %INPUT_MODE%==e

④【IF】

これは他の言語とほぼ同じ構文。switch文は無かった。GOTOラベルも同じ。

⑤【clsコマンド】

画面の出力表示内容のクリア。

⑥【pauseコマンド】

何かしらキーが押されるまで一時停止。

ちなみに、【>nul】とコマンドの後ろにつけると、そのコマンドの出力を表示しない。

f:id:YAMATOMA:20200402012241p:plain

>nulがないとこうなる

⑦【exit】

終了。

 

以下実行結果↓めちゃシンプル。

f:id:YAMATOMA:20200402011955p:plain

f:id:YAMATOMA:20200402012121p:plain

 

他にも気になる内容があったので、時間見つけて勉強する。

以下参考にさせていただきました↓

https://qiita.com/plcherrim/items/4432263ef34418175fa9

https://qwerty.work/blog/2018/11/multidisplay-mode-change-command.php

https://web-creators-hub.com/windows/bat-set-s/

https://www.adminweb.jp/command/bat/index2.html

https://so-zou.jp/software/tool/system/command-prompt/command/set.htm

http://capm-network.com/?tag=Windows%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%A4%89%E6%95%B0