2018年05月07日

ステルスバッチファイル―作業を邪魔しないようなバッチファイルを作る方法



作業を簡単に、すばやくやるようにするには、今どきの言葉なら RPA。以前は普通に Windows オートパイロットとかバッチ処理とか読んでましたが。コンサルタントさん、いろいろ儲けの手口を考えますね。

まあ、PC なんてもともと、自動化というかプログラムのカタマリなので、いまさらそれを、自動化とかロボットとか言われても、ソフト屋には、「何をいまさら…」みたいなところはありますが。


■自動処理プログラムが鬱陶しい


過去記事でもいろいろ触れてますが、自動的になにかの処理をするプログラムを作ること自体は、ちょっとプログラミングを勉強すれば簡単にできるようになります。単純に、コマンドを並べたバッチファイルなんて、ちゃんとプログラミングを勉強しなくても使えるようになります。

RPA のいいところは、それを「ティーチング」、つまり実際に作業をさせることによって、同じ作業を次からは人間が介在せずにやれるようになることで、プログラムレスでも作れるようになったことでしょうか。まあ、それも昔からありましたが。

ただ、こうして作った自動処理プログラムはサーバ上で仮想 PC の上で動いてくれるのなら問題ありませんが、会社の環境だと、アクセス権限などいろいろ問題がありまして、自分の PC でやったほうが確実な場合が結構あります。

ところが自分の PC でやるとなると、なにか別の作業をしているときに、突然、こうしたプログラムが動き出して、作業を強制的に止められることがあります。

たとえば、今ワードでレポートを作っているのに、勤務時間管理のツールが突然立ち上がって、Excel に昨日の勤務時間管理の記録を記入を始めるとか。「オレの使ってないときにやってくれよ!」と思ってしまうのですが、まあ、そうスケジュールを組んだのも自分ですしね。

渡しの場合は、複数の PC を持っているので、その PC 間のデータの同期を時々させてます。これがバッチファイルとコピーツールで組んであるのですが、作業中にこれをやられるとすごく鬱陶しい。というか邪魔


■ステルスでプログラムを実行する


タスクスケジューラを使えば画面に全く何も出さずにプログラムを実行する機能があります。

ポイントは一箇所だけ。

タスクのプロパティで、

 「全般」タブで
 「ユーザがログオンしているかどうかにかかわらず実行する」

にチェックを入れるだけ。
※文言は Windows のバージョンによって微妙に違うかも

これだけで、何も表示されずにプログラムが実行できるようになります。

ただし、ユーザーインターフェイスが必要なものやエラーメッセージも表示されませんので、ちゃんと動くようになってからチェックを入れないと、あとでトラブってみて初めてエラーになっていたことに気がついた、なんてことになりかねませんのでご注意を。

ちなみに、バッチファイルで、

 pause

って書いておいても、一時停止しません。無視されます。

何しろ、ユーザとの対話が一切ないプログラム用なので。

■バッチファイルで最小化起動する


もう一つ、バッチファイル(他のコマンドラインツールでも使えますが)を最小化起動するという方法があります。

 START /min (コマンド)

って書くと最小化(タスクバーのアイコンになった状態)でプログラムを起動できます。

たとえば、タスクスケジューラの「操作」のタブで実行プログラムを書きますが、

 abc.bat

を起動するときに

abc.bat の先頭に

◇――――――――――――――――――――――――――
if "%1" == "" (
    START /min %~0 1
    EXIT
)
――――――――――――――――――――――――――◇


って書いてやると、起動したあとに自分自身を最小化して再度呼び出すようになります。

この例は、普段の起動はパラメータがない場合に使えますが、バッチファイルにパラメータを渡すときには、そのパラメータか、自己呼び出しかを判断する処理が必要になります。

たとえばこんなふう。

◇――――――――――――――――――――――――――
if NOT /i "%1" == "RECURSIVE" (
    START /min %~0 RECURSIVE %*
    EXIT
)
――――――――――――――――――――――――――◇


当然、第1パラメータが RECURSIVE を取るような場合は使えませんので、他のありえない文字列にしないといけません。


◆このテーマのおすすめ図書


仕事がはかどるExcelワザ大全―関数 便利技350

TIME×YEN時間術すべての時間を成果に変える31の鉄則

脳を最適化すれば能力は2倍になる仕事の精度と速度を脳科学的にあげる方法

ちょっとしたことでうまくいく発達障害の人が上手に働くための本

仕事で使える!GoogleドキュメントChromebookビジネス活用術2017年改訂版)

帰宅が早い人がやっているパソコン仕事最強の習慣112

■同じテーマの記事

人との調整の時間を確保する

スケジュールを作るときに、つい忘れてしまうことがあります。「調整の時間」です。仕事は、作業と打ち合わせと調整私の会社の場合、アウトルックでスケジュールを管理しています。大体1週間のうち、定例の会議が1割位。これはこの先もずっと抑えられているスケジュールなので、あまり考えることもなく決まってしまいます。そのスキマにはいるのが、色々なイベントの打ち合わせ。「×××についてちょっと打ち合わせさせてください」とかいうのが、前の週から徐々に入ってきて、月曜日には..

使いまわし議事録:使いまわす時のポイント

使いまわし議事録のポイントは、・1つの議題(テーマ)で1ファイルを作ること・議論の経緯は日付を入れて時系列が分かるようにすること・結論が出た時には、別項を設けて結論を書く・宿題は議事録中に書くと同時に、別の宿題シートに書くです。そして、最大のポイントはEXCELを使うことです。使いまわし議事録のフォーマットのポイント1つの議題(テーマ)で1ファイルを作ること議事録を一つのファイルにしてしまうと、複数の議題があるときにすごく長くなります。こ..

同じアプリのウインドウを巡回するショートカットキー

同じアプリで複数のウインドウを開いていて、そのウインドウを相互に行き来したいときに、ALT+TAB で切り替えます。ところが、よく失敗するんですよ。たとえば、1.EXCEL ファイル A2.EXCEL ファイル B3.Outlookみたいな状態で、ファイルの A と B を交互に切り替えながら作業していると、ふとした拍子に ALT+TAB を押しすぎて、Outlook が表示されちゃうことがあります。で、「しまった〜」って再び A に戻ると、次に A..

AutoHotKeyでIME制御2:IMEの状態をアプリごとに固定する方法

IMEの状態がいまどうなっているかを確実にしる方法は、IME のウインドウ(あの右角にあるあ般……が表示されているやつ。「IMEツールバー」とか「言語バー」って言うらしい)を見るか、何かキーボードで入力してみて反応を見るしかありません。私はキーボードの入力速度がそこそこ早くて(秒間3〜5キー)、ウインドウの切り替えもキーボードでやるものだから、ウインドウの切り替え後すぐに入力を始めると、IME の状態が希望状態じゃあ無くて、無駄打ちすることが結構あります。..

AutoHotKeyでIME制御1:IMEの状態をわかりやすくする方法

IMEの状態がローマ字入力モードだと思って打ち込み始めたら、半角英数モードで、もう一度入力し直しをするような場面がちょくちょくありました。まあ、1〜2文字で気がつけばいいのですが、勢いで入力してしまうと5〜6文字くらい行っちゃうときもあって、結構イライラします。なんとかならないものか…?と調べていたら、ImeTray64 っていうソフトがありました。ImeTray64ただ、メモリ貧乏な私としてはあまり常駐ソフトを増やしたくない…AutoHotKey で..

Excelのセルに曜日を表示する方法

Excel を使っていると、日付のセルを作成することがよくあります。"2018/1/2"みたいに。これを"2018/01/02 (月)"みたいに表示する方法についてご紹介します。美しくない!ただ、どうもこの表示は好きになれません。単体で見る分にはいいですが、"2018/1/2""2018/1/23""2018/10/3"みたいに桁が揃わないからです。どうも美しくない。さらに、曜日も含めて"2018/01/02 (月)"みたいに表示できると便利..

posted by 管理人 at 07:56| Comment(0) | PCアプリ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。