【新入社員向け】DOS窓でかっこよく業務効率化したくない？？ ウォウウォウ？？

# 1．はじめに
どうも、趣味でデータ分析をしつつ、最近はすっかり効率厨（こうりつちゅう）寄りになってきた猫背なエンジニアです。

6月も終盤、新人社員の皆さんもそろそろExcelや社内ドキュメントなど、少しずつ『エンジニアっぽい』仕事を任されるようになってきた頃ではないでしょうか。

そんな中で、「ドキュメントをサッと開くだけなのに、便利ツールを使うには上司の許可が必要」といった、ちょっと面倒な社内ルールに直面した方も多いと思います。

「納期を優先するなら効率化したい。でもそれでコンプラ違反になったら意味ないし…。結局どっちを取ればいいの!?」
──そんなモヤモヤを感じたこと、きっと一度はあるはずです。

そんな悩みを抱える方に向けて、今回はWindows限定ではありますが、メモ帳だけで作れる「呼び出し太郎(OpsCall)」をこっそりご紹介します。

この方法なら、社内のコンプライアンスに引っかかることなく、数クリックでさまざまな作業ファイルを一発で呼び出せるようになります。しかも、ちょっとしたコマンドプロンプト（DOS窓）操作が入るため、周囲の上司からは
「おっ、あの新人、いまDOS窓で何かやったぞ…？」
と、一目置かれる（かもしれない）というおまけ付きです。

# 2．完成品
 **『Ctrl + Alt + W』** だけで起動、呼び出しも指定のキーのみ。
たったそれだけで業務の準備が整う
――これ、最強じゃないですか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3528290/cbc64b4f-f74d-4b93-9371-8bf6ce324f82.png)

便利なツールは世の中にたくさんありますが、中にはマルウェアが一緒に仕込まれていたり、アップデートのたびに仕様が変わって使いものにならなくなったり…。
下手をすると、業務が止まるどころか自分の信用や職にまで関わってくるリスクもあります。
だからこそ、コマンドプロンプト（DOS窓）とメモ帳の出番なんです。

この方法なら完全自作なので、

**● 余計なライブラリのインストール不要**

**● 不審なコードの混入リスクゼロ**

**● 自分好みにカスタマイズ可能**

と三拍子そろった安心・安全なソリューションです。
どうです？ 一度試してみたくなりませんか？

# 3．準備
### ■ 準備するもの
**Windows PC（以上！）**

ネットワーク環境がない方でも安心してください。オフラインでも問題なく動作します。

**使うソフトは――メモ帳。**

「えっ、それだけでいいの？」と思ったそこのあなた、安心してください。作れますから。


## 4．ソースコード
それでは、さっそく開発に取りかかりましょう。

### 1．呼び出し太郎（OpsCall）の本体（MS-DOSバッチファイル）
以下のソースコードをメモ帳にコピペし、保存するときに **拡張子を「.bat」** にして保存してください。

また、call :link96 の部分は、
ご自身がよく使うドキュメント名や、いつもアクセスする社内サイトなどに自由にカスタマイズしてください。
```bat:OpsCall.bat
echo off
echo

chcp 65001
echo "===================== Command List ===================="
for /f "tokens=1-2 delims=," %%i in (CommandList.csv) do (
 echo %%i %%j
)
echo work work.bat
echo 97 GoogleSerach
echo 98 kintai
echo 99 Finish
echo
echo "======================================================="

rem input
set /p INPUTNUMBER="InputValue:"

rem GOTO
if %INPUTNUMBER%==work goto link96
if %INPUTNUMBER%==97 goto link97
if %INPUTNUMBER%==98 goto link98
if %INPUTNUMBER%==99 goto link99

for /f "tokens=1-3 delims=," %%i in (CommandList.csv) do (
 if %%i==%INPUTNUMBER% (
 echo %%j
 %%k
 )
)
goto link99

rem Command List
:link96
start "" https://qiita.com/
start "" https://github.co.jp/
start "" https://www.fe-siken.com/fekakomon.php
start "" https://www.ap-siken.com/
chcp 65001
start "" "C:\Users\%USERPROFILE%\Desktop\〇〇仕様書.xlsx"
start "" "C:\Users\%USERPROFILE%\Desktop\〇〇テスト工程表.xlsx"
start "" "C:\Users\%USERPROFILE%\Desktop\〇〇レビュー台帳.xlsx"
goto link99

:link97
set /p search_keys="Seach value:"
start "" https://www.google.com/search?q=%search_keys%
goto link99

:link98
setlocal enabledelayedexpansion
rem powershellを使用してパソコンの起動時間を取得
for /f "delims=" %%a in ('powershell -Command "(Get-CimInstance Win32_OperatingSystem).LastBootUpTime.ToString('yyyy/MM/dd/HH:mm:ss')"') do set "BootTime=%%a"
rem powershellを使用して最後のシャットダウンから時間を取得
for /f "delims=" %%a in ('powershell -Command "Get-WinEvent -FilterHashtable @{LogName='System'; ID=1074} | Select-Object -First 1 | ForEach-Object { If ($_.TimeCreated) { $_.TimeCreated.ToString('yyyy/MM/dd/HH:mm:ss') } Else { 'No Shutdown Event Found' } }"') do set "ShutdownTime=%%a"
rem 起動時間とシャットダウン時間を表示
echo Last Boot Time		: %BootTime%
echo Last Shutdown Time	: %ShutdownTime%
set /p value="Open EventViewer?(YES:1/NO:0):"
if %value%==1 (
start "" "C:\WINDOWS\system32\eventvwr.msc"
goto link99
)
if %value%==0 (goto link99)

:link99
exit

```

### 2．呼び出すドキュメントを追加するには（CSVファイル）
新しく呼び出すドキュメントを追加したい場合は、以下の形式でCSVファイルに記述してリスト化できるようにします。

以下のサンプルをメモ帳にコピペし、保存の際に **拡張子を「.csv」** にして保存してください。
```csv:CommandList.csv
taskmaneger,TaskManeger,"C:\WINDOWS\system32\Taskmgr.exe"
memo,Memo(NotePad),"C:\Windows\notepad.exe"
cmd,CommandPrompt,"C:\WINDOWS\system32\cmd.exe"
winlog,Microsoft-Windows-Winlogon,"C:\WINDOWS\system32\eventvwr.msc"
```

Id,ContentsName,Pathという並びになっており、それぞれ以下の意味があります。
* Id：連番など、識別用の数字
* ContentsName：画面上に表示される名前
* Path：実際に開くファイルのパスやURL

このCSVを編集していくことで、呼び出し対象のドキュメントやリンクを自由にカスタマイズできます。

# 5．呼び出しの設定
ここまで来たら、もうひと息です。
あとはショートカットキーの設定を行えば、いつでも即座に「OpsCall」が使えるようになります。

以下の手順で設定してください：

1. 作成した 「OpsCall.bat」 のショートカットを作成します。

2. 作成したショートカットを右クリックして、「プロパティ」を開きます。

3. 「ショートカット」タブにある「ショートカットキー(K):」の欄を選び、「Ctrl + Alt + W」 を同時に押してください。

4. 「適用」をクリックし、「OK」を押して完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3528290/d7ea70dc-fe93-4241-8ef6-f1b87a790c16.png)

# 6. いざ、実践！
さあ、ここまで来たらあとは実際に試してみるだけです。
ショートカットキーを押して、「呼び出し太郎（OpsCall）」がきちんと動作するか確認してみましょう！

もしうまく起動しない場合は、以下の点をチェックしてみてください：
* CSVファイルの Path に誤字・脱字がないか
* 開こうとしているファイルやURLが実際に存在しているか
* .bat ファイルや CSV の保存場所・ファイル名に間違いがないか

ちょっとしたミスで動かないこともあるので、落ち着いて見直してみてください。
きっとすぐに原因が見つかるはずです！


# 7．おわりに
私も新卒から会社に勤めて3年目になりそうですが、こういうことを教えてくれる上司が欲しかったです。

「効率化＝ズル」ではなく、「効率化＝工夫と主体性」だと伝えてくれる人がいたら、もっと早くに快適な業務スタイルを築けていたかもしれません。

もしこの記事が、
「なんかやってみようかな」「これくらいなら自分でも作れそう」
そんなふうに思うきっかけになれば、とても嬉しいです。

今後も“猫背な効率厨”として、地味だけど役立つTipsを紹介していきたいと思います。
ここまで読んでいただき、ありがとうございました！

# 参考：Windows関係の設定について
https://qiita.com/Necoze/items/cddd33ae273dd3edbf4a