2012年1月23日月曜日

Windows でアプリケーションを再起動するバッチ処理 - タスクの強制終了、タスクリスト、エラーレベルによる条件分岐

1. Tray Volume が動作しなくなる

PC の音量を素早く変更するために、Tray Volume を利用している。

Tray Volume の設定で、

  1. マウスポインタをタスクバーに移動し、
  2. マウスホイールを動かす

ことにより、音量を変更するようにしている。

しかし、何が原因か分からないけれど、アプリケーションが起動しているにもかかわらず、音量を変更できなくなることがある。

Tray Volume のバージョンは、1.4.4.0。使用環境は Windows 7 64bit 。

 

2. Tray Volume を再起動するためのバッチファイル

動作しなくなる度に、アプリケーションを再起動している。

毎回、起動しなおすのは面倒なので、Tray Volume を再起動するバッチファイルを作成しておく。

@echo off

tasklist | findstr "TrayVolume.exe"

if errorlevel 1 goto START
if errorlevel 0 taskkill /f /im "TrayVolume.exe"

:START
start "" "C:\Program Files (x86)\TrayVolume\TrayVolume.exe"

上記を、適当に restartTrayVolume.bat と名前を付けて保存。

Tray Volume が動作しなくなったら、バッチファイルを起動する。

 

3. 再起動するアプリケーションを指定できるように変更する

追記(2013/09/12): 他のアプリケーションも再起動できるように、対象のアプリケーションを「引数として与えるよう」にバッチファイルを変更しておく。

バッチファイルで引数を受け取るには %数字 という記述をする。

EZ-NET: Windows コンソール プログラミング - バッチファイルの引数を操作する

バッチファイルでもコマンドと同様に引数を渡すことが出来ます。渡された引数は %1 から %9 までの変数として保存されます。 %0 もあるのですけど、これには実行中のバッチファイル名が保存されます。

restart.bat

REM @echo off

tasklist | findstr %1

if errorlevel 1 goto START
if errorlevel 0 taskkill /f /im %1

:START
start "" %2

上記を適当に restart.bat と名前をつけて保存する。

 

コマンドプロンプトから起動する

使い方は、ファイルのあるフォルダでコマンドプロンプトを起動し、以下のように入力する。

restart.bat "TrayVolume.exe" "C:\Program Files (x86)\TrayVolume\TrayVolume.exe"

 

ショートカットファイルでワンクリックで再起動

restart.bat ファイルのショートカットを作成し、再起動したいプログラムを引数で与えることにより、マウスでアイコンをクリックして簡単に起動できる。

  1. restart.bat ファイルをショートカット作成し、適当に restart-TrayVolume.bat と名前をつける。
  2. 作成したショートカットのプロパティを開き、「ショートカット」タブの「リンク先」フィールドの末尾に  "TrayVolume.exe" "C:\Program Files (x86)\TrayVolume\TrayVolume.exe" を追記する。(先頭に半角スペースを入れること。)

SnapCrab_No-0426

 

4. Windows 7 でクイック起動により、バッチファイルを起動する

Windows 7 では、タスクバーにバッチファイルを登録することができない。Windows XP や Vista のようにクイック起動を利用したい。

以下を参照して、Windows 7 でクイック起動を作成。

要するに、以下のフォルダを作成すれば良いとのこと。

  • C:\Users\ユーザ名\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

 

5. バッチファイルの内容について

a. タスクの強制終了

タスクを終了するためのコマンドは taskkill 。

強制終了をするための /f オプションを付けないと、終了できないことがあった。

 

b. タスクリストから、タスクが起動しているか確かめる

Tray Volume を終了する前に、Tray Volume が起動しているか確かめておく。

動作しているタスクの一覧を得るには、tasklist コマンドを利用する。

tasklist コマンドで、当該タスクが存在するか判定するには、findstr コマンドを併用し、条件分岐でエラーレベルを取得する。

【バッチファイル】tasklistの実行結果取得方法について - Insider.NET - @IT によると、

下記のコマンドで起動成功失敗のerrorlevelが取れました。
tasklist /FI "USERNAME eq ユーザ名" | findstr プロセス名
echo %errorlevel%

findstr コマンドは、文字列の検索を行うためのもの。

 

c. エラーレベルによる条件分岐は、順序に注意

上記のコマンドは、実行すると結果を返す。

【ハウツー】ゼロからはじめるバッチプログラミング - 制御編 (1) 分岐を使うバッチプログラミング  | マイナビニュース によると、

アプリケーションは、終了時にシステムに対して値を返すことができます。例えば、C言語でプログラムを作ったことがあればmain()関数の最後に return文で整数を返したはずです。この値がどのような意味を持っているのかはアプリケーションが定めますが、システムはアプリケーションが返した終了コードを受け取り、ifコマンドでバッチ処理できます。多くの開発者にとってもあまり意識されない終了コードですが、エラーの発生などによって返す値を定めることで、バッチファイルによる管理が可能になります。

if errorlevel 番号 コマンド

このifコマンドは、直前に実行したアプリケーションの終了コードが指定した番号と同じかそれより上であれば、続くコマンドを実行します。多くのアプリケーションは、正常終了した場合は0を返し、そうでなければ0以外の値を返します。

注意する点は、ERRORLEVEL の数値を並べる順序。

バッチファイルの制御用コマンド [FPCU]DOS/V&Windowsコマンド・プロンプト・リファレンス によると、

≪条件書式1≫ ERRORLEVEL 数値
IFより前に実行されたプログラムが、指定した「数値」以上の「終了コード」をDOSに返しているときに、条件が成立します。

例えば、ERRORLEVELでの条件分岐が意図した結果にならない (DOSプロンプト活用相談室LOG) によると、

… 仕様として IF ERRORLEVEL の判定が「以上」であることが原因だと思います。等号じゃないんですね。
なので、
>IF ERRORLEVEL 0 GOTO NG
>IF ERRORLEVEL 1 GOTO OK
という順序で記述されると、最初の行は errorlevel が 1 の場合でも成り立ってしまって GOTO NG してしまうと思います。
IF ERRORLEVEL 1 GOTO OK
IF ERRORLEVEL 0 GOTO NG
というように、判定順序を数字の大きい方からにすればよいのではないでしょうか。

ERRORLEVEL は、比較演算子。

バッチメモ(Hishidama's bat-file Memo) によると、、

条件には、以下の比較演算が使える。(大文字でも小文字でもよい)…

単項演算子…

ERRORLEVEL
%ERRORLEVEL%が値以上
なぜこんな演算子がわざわざあるかについては、注意点を参照。
if errorlevel 1 echo エラー

バッチ処理の仕様に辟易 (+_+)

2012年1月16日月曜日

Lucid Puppy を古いノート PC で利用する - Chromium, Wine をインストール

1. Puppy Linux 日本語版を利用する

Puppy Linux は動作が軽い。CPU Celeron 2.66GHz, メモリ 512 MB の壊れそうな古いデスクトップ PC でもサクサク動作する

Lubuntu は、Puppy Linux よりも重い。CPU Pentium M 1.5GHz, メモリ 1G である古いノート PC に、Ubuntu の派生品である Lubuntu をインストールしたら、ブラウズ・文書作成では、問題のないパフォーマンスが得られた。Wine により、Windows アプリケーションも利用できた。

今回は、Lubuntu をインストールした古いノート PC で、Puppy Linux を利用してみる。

Puppy Linux 日本語版http://openlab.jp/puppylinux/download/ より、

をダウンロードして、CD-ROM に書き込む。

CD-ROM から、ノート PC を起動したら、Lubuntu に比べて動作が早かった。

 

無線 LAN の設定 (WPA, AES)

ノート PC は、無線 LAN を利用している。ネットワークの設定から行う。

  1. デスクトップの「接続」 > Desktop/tray の Network Wizard を選択。
  2. タイプがワイアレスの方を選択。(wlan0)
  3. 「ワイアレス」ボタンを押す。
  4. スキャンして、接続先を選択。

接続先の無線ネットワークは、WPA で、暗号化方式に AES を利用している。

試しに WPA/TKIP を選択し、

  1. 「暗号化なし」のチェックを外し、
  2. 暗号化キーを入力し、保存。
  3. 「このプロファイルを使う」を押す。

しかし、ネットワークに接続出来なかった。

軽量Linux まだまだ使う旧パソコン | PuppyLinux4.2 無線LAN設定 AES WLI3-CB-G54L によると、

アクセスポイントの暗号方式はWPA-PSK(AES)なので、WPA-PSK(AES)での接続が目的。…

今回は「WPA/TKIP」を選んだ。
プロファイルを保存後、以下のファイルを手修正する。
「/etc/network-wizard/wireless/wpa_profiles/xx:xx:xx:xx:xx:xx.WPA.conf」を修正。
------------------------------
pairwire=TKIP
group=TKIP
↓ 以下に変更
pairwire=CCMP
group=CCMP
------------------------------

上記の説明に従い、

  • /etc/network-wizard/wireless/wpa_profiles/xx:xx:xx:xx:xx:xx.WPA.conf

を編集して、再度、接続を試みたら、接続できた。

次に、「自動 DHCP」を選択して、ネットワークの終了。

これでパッケージを利用するために、ネットワークからダウンロードできるようになった。

 

2. Lucid Puppy を利用する

a. Lucid Puppy は、Puppy Linux 日本語版とは系統が異なる

デスクトップ PC に Puppy Linux をインストールしたとき、ブラウザとして Google Chrome をインストールした。このとき利用したパッケージは、

ダウンロード先の URL を見ると、Puppy Linux 日本語版 と同じドメインであることがわかる。

Chromium - Wikipedia には、Google Chrome のオープンソース版として、次のように説明がある。

Puppy LinuxではChromium 5.0.342をUbuntuのリポジトリから流用したLucid Puppy 5.0.0から提供されている[50]

Lucid Puppy とは、何だろう?

Puppy Linux - Wikipedia で、これまでのバージョンを確認すると、

Lucid Puppy は、日本語版の Puppy とは別系統。

「KNOPPIX 6.4.4」と「Puppy Linux5.2」が登場 - Linuxレポート:ITpro によると、

Puppy Linuxは、日本語版の最新バージョンが2009年秋リリースの「4.3.1」である。だが本家の英語版は4.3.1以降、大きく2つの系統で進化している。

一つは4.3.1の直系となる「Wary Puppy」だ。…

もう一つはUbuntuベースの派生版「Lucid Puppy」。こちらは2011年1月6日、従来のバージョン5.1.1から「5.2」になっている

Lucid Puppy は、Ubuntu ベースだからパッケージがたくさんありそう。

Puppy Linux の本家サイトを見ると、ページ右上に3つの系統があった。

Barry Kauler - Powered by PPLOG によると、

Slacko Puppy 5.3, our flagship Puppy, premiered on October 25, 2011

Slacko Puppy がフラッグシップということらしい。

 

b. Pupppy Linux 日本語版では、Lucid Puppy のリポジトリにある Chromium が動作しなかった

とりあえず、Puppy Linux 日本語版のままで作業を続けた。

  • メニューより、セットアップ > Puppy パッケージマネージャ

を起動。

パッケージのダウンロード先のリポジトリを確認するために、

  • PETgetパッケージマネージャの設定

データベース更新において、「ただちに更新」をする。その後、ダイアログを閉じて、再度開くと、

puppy-lucid-officel

が表示された。

パッケージレポジトリの選択において、puppy-lucid-officel がチェックされていることを確認する。

一度、Puppyパッケージマネージャ を終了し、再度開くと、puppy-lucid-officel のリポジトリの内容が表示された。

次に、Internet カテゴリにある

Chromium-18-Lucid

のインストールした。しかし、Chromium-18-Lucid は起動できなかった。このパッケージは Lucid Puppy 専用のようだ。

 

c. Lucid Puppy にインストールできるパッケージの一覧

Lucid Puppy にインストールできるパッケージを確認する。データベース更新の「ただちに更新」において表示される、接続先である

にブラウザでアクセス。検索フィールドがあったので `lucid’ で検索。その結果、以下に Lucid Puppy でインストールできるパッケージの一覧が表示された。

上記を見ると、たくさんのパッケージがあることがわかる。Wine も含まれていることがわかった。

 

d. Lucid Puppy を利用してみる

そこで、Puppy Linux 日本語版ではなく、Lucid Puppy を利用することにした。

Barry Kauler - Powered by PPLOGLucid Puppy 5.2.8 released より、

をダウンロードし、CD-ROM に書き込み、ノート PC で CD-ROM から起動。

 

e. Lucid Puppy で、無線 LANへ接続 (WPA, AES)

Lucid Puppy 日本語版と同じように、無線 LAN の設定から行う。

先ほどと同じように、予め無線の設定ファイルを修正しておく。

「/etc/network-wizard/wireless/wpa_profiles/xx:xx:xx:xx:xx:xx.WPA.conf」を修正。
------------------------------
pairwire=TKIP
group=TKIP
↓ 以下に変更
pairwire=CCMP
group=CCMP
------------------------------

軽量Linux まだまだ使う旧パソコン | PuppyLinux4.2 無線LAN設定 AES WLI3-CB-G54Lより)

次に、ネットワークの設定を行う。

  1. menu > Setup > Internet Connection Wizard
  2. Desktop/tray の Network Wizard を選択
  3. Interfaces で wlan0 を選択。
  4. Configure wireless network の Wiress ボタンを押す。
  5. Scan ボタンを押し、接続先のネットワークを選択する。
  6. WPA/TKIP を選択。
  7. 「Security: Open」のチェックを外す。
  8. 暗号化キーを入力し、保存。
  9. Configure interface で Auto DHCP ボタンを押し、接続できたら、設定を保存するか促されるので yes を選択。
  10. Done ボタン を押して、終了。

これでブラウザを起動すると、ネットに接続できるようになった。

 

f. Lucid Puppy の日本語化

Lucid Puppy を起動すると、メニューやメッセージが英語で表示がされる。これを日本語にローカライズしたい。

Puppy Linux 日本語版`によると、

2.16.1〜4.31まではオリジナルのPuppy Linuxをベースに直接日本語リソースを組み込んだものを日本語版として提供してきましたが、開発の省力化の為、5.1x以降は国際化の仕組みを備えた Puplets"Lucid Puppy QuickSet edition"(Lupq) と日本語リソースのpet又はsfsを組み込んだものをベースに開発中です。

lupq-5.xに lang_pack_ja-lupq-0.x.pet をインストールすることで日本語版と同等に使えるようになります。正式に最新版の日本語版が公開される前に5.x系を試したい方はこの組み合わせでお使いください。

sakurapup.browserloadofcoolness.com • トピック - Lucid Puppy 5.2.x の日本語化 によると、

本家版 Lucid Puppy の最新版は Lucid Puppy 5.2.8.004 になります。
http://www.murga-linux.com/puppy/viewtopic.php?t=70855
パッケージマネージャより System のところにある lang_pack_ja-lupq-0.5.pet をインストールすると日本語が使えるようになります。
ただし日本語化パッケージは大きいので、実装RAMが 512MB以下の場合、初回起動でタイムゾーンとキーボードのみ選択し(この時点では言語の選択肢に日本語は現れない)、何もインストールせず、ただちにシャットダウンして pupsave(lupqsave)をまずは作成することをお勧めします。
むしろ、PETによらず SFSの使用をお奨めします。
日本語化SFSは lang_pack_ja-1.4.sfs (2011年10月15日update) を
http://shino.pos.to/party/bridge.cgi?puppy/opt/ から。
SFSをロードするには、
menu --> Setup --> Setup Puppy のところに SFS-Load on-the-fly があります。

ここでは、PET を利用して、日本語化する。

パッケージマネージャを起動するため、

  • menu > Setup > Setup Puppy > Puppy Package Manager

を選択。

  • System > lang_pack_ja-lupq-0.5

をインストール。ダウンロード先は、

  • ibiblio.org

にしておいた。次に、

  • Desktop > Contry Settings > Choose locale country localisation

で ja_JP: Japanese, Japan を選択すると、X Windows を再起動することを促されるので、再起動。

  • Desktop > Country Settings > Countrywizard 言語、タイムゾーン、キーボード

で、ja_JP 日本語,JAPAN, GMT+8, jp106 (日本語キーボード) を選択。

 

g. パッケージマネージャでリポジトリの更新

アプリケーションをインストールする前に、リポジトリの更新を行う。

  • menu > Setup > Setup Puppy > Puppy Package Manager

で、Configure package manager ボタンを押し、Update now する。

 

h. ブラウザ chromium のインストール

パッケージマネージャで、ブラウザとして chromium をインストールする。

  • menu > Setup > Setup Puppy > Puppy Package Manager

を起動し `chromium’ で find 。

  • Chromium-18-Lucid

をインストール。

上記の Puppy Linux 日本語版では動作しなかったが、今回は問題なく動いた。

 

i. Windows アプリケーションを動かすために
7zip

Windows アプリケーションにおける、一般的なアーカイブ形式を解凍できるように、7-zip をインストールする。

Barry Kauler - Powered by PPLOG によると、

I have created a 'p7zip' PET and uploaded it to the 'Puppy-common' repo (953K, 67K):
http://distro.ibiblio.org/quirky/pet_packages-common/p7zip-9.20.1-i486-w5.pet
http://distro.ibiblio.org/quirky/pet_packages-common/p7zip_DOC-9.20.1-i486-w5.pet

上記をブラウザでダウンロードし起動すると、パッケージマネージャが起動して、インストールされる。

Wine
  • menu > Setup > Setup Puppy > Puppy Package Manager

において `wind’ で find 。

Wine-1.3.13-Lucid52 をインストール。インストール後、以下のエラーが表示された。

img_0047

メニューを見ると、Windows のメモ帳やワードパッドがインストールされていることが確認できる。

試しに、SameGame for Windows をブラウザでダウンロード。ダウンロードしたフォルダで、

  • 右クリック > ウィンドウ > ここで Xterm を起動

7z x アーカイブ名

により解凍。 XXXXXX.exe をダウンロードすると、起動できた。

しかし、スライドぽぷん は起動できなかった。Lubuntu をインストールしたときは、動いたのになぜだろう?

2012年1月12日木曜日

Firefox で「タブの保存と復元」に Session Manager - タブを復元できないときに備える

1. Firefox がクラッシュしたとき、タブの復元ができないことがある

img_0040Firefox では、よく利用するサイトに対して

  • タブを右クリック > 「タブをピン留め」

により、アプリタブ にしておくことができる。

Firefox がクラッシュすると、次回起動したときに、タブの復元が促される。しかし、たまに、開いていたタブを復元できないことがある。その度に、アプリタブを設定しなければならい。たくさんある場合、結構面倒。(+_+)

 

2. Session Manager で現在のタブの状態を保存

Session Manager は、セッションを管理するためのアドオン。

現在のタブを開いている状態を保存するには、

  • Firefox ボタン > セッションマネージャ > セッションマネージャ > セッションを保存

img_0039

ダイアログが表示されたら、適当に名前をつけて、保存。

例えば、 default と名前をつけて保存したとする。

 

3. タブを復元する

Firefox の起動時における復元

試しに、タスクマネージャで Firefox を強制的に終了させた後、Firefox を起動してみた。

Session Manager をインストールしていると、デフォルトのタブの復元画面が、セッションマネージャに置き換えられ、いつの時点に復元するか尋ねられるようになる。

この際、

  • 直前に開いてたタブの状態に戻したければ、「現在のブラウジングセッション」を選択する
  • または、上記で保存した default のセッションの状態に戻したければ、default を選択する

「セッションを回復」ボタンを押せば、元のタブの状態が復元された。

img_0041

 

Firefox の起動中における復元

Firefox が起動している状態では、

  • Firefox ボタン > セッションマネージャ > セッションマネージャ > セッションの読み込み

により、表示されたダイアログでセッションを選択し、「読み込み」を行う。

 

4. セッションの保存先を Dropbox へ変更

Firefox を新しくインストールする場合に備えて、バックアップも兼ねて、セッションの保存先は Dropbox にした。

  • アドオンの設定 > セッションマネージャ > 詳細

の「セッションの保存先」で変更。

img_0042

 

5. 複数のタブを保存する目的には、デフォルトのブックマーク機能を使えば良い

Session Manager は、複数のセッションをグループ分けして管理・保存できる。保存したセッションは、復元の際に、セッションを置換するだけでなく、追加することも可能。

ところで、Firefox には、タブをグループ分けする機能がある。この機能のおかげで、複数の事柄を調べている場合、タブをグループ分けし、分類しておける。あまりにもグループ分けが多くなってしまったり、グループ分けしたまま放置しているものがあれば、セッションに保存しておけばいいかもしれない。

ただし、Firefox には、1つのウィンドウに複数のタブがある場合、

  • 任意のタブで右クリック > 全てのタブをブックマーク

により、複数のブックマークを一気に保存できる。

保存したブックマークは、当該ブックマークが保存されたフォルダにおいて、

  • タブで全て開く

により復元できる。このため、複数のタブを保存・復元する目的には、デフォルトの機能を使えば良い。

2012年1月10日火曜日

Windows 7 で タスク スケジューラ を利用して、定期的にメモリを解放する - empty.exe による高速な動作

1. empty.exe によるメモリの開放は軽くて早い

たくさんのアプリケーションを開くと、メモリの使用量が増え、PC の処理がもたつく。

ブラウザにアドオンを詰め込み、仮想化ソフトを起動。開発環境を立ち上げ、同時に別のブラウザで動画を見ながら、バックグラウンドで何個もプロセスを常駐。これにより、かなりのメモリを消費する。

SnapCrab_NoName_2013-1-13_1-10-23_No-00そのため、定期的にメモリを開放するアプリケーション「めもりくりーなー」を利用している。

ただし、メモリに余裕がないときに、メモリを開放させると、一時的に処理が遅くなる。

追記(2013/03/06)Windows で起動中のアプリケーションに影響を与えにくいメモリの開放 - 軽い動作の Wise Memory Optimizer も参考に。

 

a. empty.exe のインストール

これに対して、empty.exe は、動作の軽いメモリ開放ソフト。

最強安全メモリ開放ソフト(マイクロソフト) | Windows XP/Vista/7の裏技 によると、

「​e​m​p​t​y​.​e​x​e​」​こ​の​ソ​フ​ト​は​ほ​か​の​メ​モ​リ​開​放​ソ​フ​ト​と​は​違​い​、​強​制​的​に​開​放​す​る​こ​と​は​あ​り​ま​せ​ん​の​で​安​全​で​す​。 し​か​も​、​効​果​抜​群​!
W​i​n​d​o​w​s​ ​S​e​r​v​e​r​ ​2​0​0​3​ ​R​e​s​o​u​r​c​e​ ​K​i​t​ ​T​o​o​l​s ​こ​れ​を​ダ​ウ​ン​ロ​ー​ド​し​てW​i​n​R​A​R な​ど​で​解​凍​し​ま​す​。
解 ​凍​し​た​中​に​「​r​k​t​o​o​l​s​.​m​s​i​」​が​あ​る​の​で​、​こ​れ​も​解​凍​す​る​。​(​右​ク​リ ​ッ​ク​で​プ​ロ​グ​ラ​ム​か​ら​開​く​>​解​凍​ソ​フ​ト​を​選​択​>​「​e​m​p​t​y​.​e​x​e​」​を​取​り ​出​す​。​)
面​倒​な​ら​イ​ン​ス​ト​ー​ル​し​て​「​e​m​p​t​y​.​e​x​e​」​を​取​り​出​し​て​も​構​い​ま​せ​ん​。
「​e​m​p​t​y​.​e​x​e​」​を​ ​C​:​¥​W​I​N​D​O​W​S​¥​s​y​s​t​e​m​3​2​ ​の​中​に​入​れ​ま​す​。

上記を参考にして、empty.exe をインストールした。

  1. 7-Zip を用いて、rktools.exe を展開すると、rktools フォルダが作成される。
  2. rktools フォルダ内にある​ r​k​t​o​o​l​s​.​m​s​i​ を展開した後、empty.exe を取り出す。
  3. empty.exe を C:\Windows\System32 へ移動する。

 

b. empty.exe の実行

empty.exe を実行するには、

  1. スタートメニューより、「コマンド プロンプト」を起動する。
  2. コマンドプロンプトに empty * と入力し、実行する。(アスタリスクを入力するのを忘れずに。)

動作時間が短く、実行中のアプリに、ほとんど影響を与えないようだ。ただし、メモリ解放が効果的に行われているのかよくわからない。

empty.exe を実行した時のメモリの使用状況を見ていると、Firefox のアドオン Memory Fox, Memory Fox Next が動作しているときに似ているような気がする。

 

2. タスク スケジューラ で定期的に empty.exe を実行する

次に、タスク スケジューラを使い、empty.exe を定期的に実行させることにした。

タスク実行の設定は、以下の通り。

  1. ログオンしてから、1時間後にタスクを実行する
  2. その後、定期的に1時ごとにタスクを実行する。

 

a. タスクの作成

スタートメニューより、「タスクのスケジュール」を検索し、タスク スケジューラを起動する。

タスク スケジューラのメニューより、

  • 操作 > タスクの作成

全般」タブにおいて、適当にタスクの名前を付けた。ここでは `empty’ とした。

SnapCrab_NoName_2013-1-12_12-45-1_No-00

また、「最上位の特権で実行する」にチェックを付けておいた。理由は、empty.exe を管理者権限で実行した時の方が、制約が少なかったため。

 

b. トリガーの設定

トリガー」タブにおいて、新規ボタンを押し、新しいトリガーを作成する。

「新しいトリガー」を以下のように設定した。

  • タスクの開始を「ログオン時」
  • 詳細設定
    • 繰り返し間隔を「30分」に設定
    • 継続時間を「無期限」に設定

SnapCrab_NoName_2013-1-12_12-29-34_No-00

遅延時間、繰り返しの間隔については、以下を参考にした。

 

c. 操作の設定

次に、タスク作成の「操作」タブにおいて、新規ボタンで、新しい操作を作成。

  • 操作を「プログラムの開始」
  • プログラム/スクリプトを empty と指定
  • 引数の追加で `*’ を指定

img_0044

これで、次回のログインから、タスクが有効になる。

スクリプトを実行するには、

  1. タスク スケジューラを開き、左側のペインより、タスクスケジューラ(ローカル) > タスク スケジューラ ライブラリを選択。
  2. 真ん中のペインより、先ほど作成した タスク empty を探し、右クリック > 実行する を選択する。

ただし、この方法では、プログラムが実行される度にウィンドウが一瞬表示される。

 

3. VBS を利用し、タスクの実行時にウィンドウを表示させない

タスクが実行される度に、ウィンドウが表示されないようにするは、スクリプトを利用する。

メモ帳を開き、以下のスクリプトを書き、ファイル名は empty.vbs として適当な場所に保存した。ここでは、C:\Program Files\empty\ に置いた。

CreateObject("WScript.Shell").Run "empty *", 0

スクリプトの書き方は、コマンドウィンドウを表示しないで実行するには - Mookノート を参考にした。

 

タスク スケジューラでタスクを編集

先ほど作成したタスク empty を修正する。

  1. タスク スケジューラを開き、左側のペインより、タスクスケジューラ(ローカル) > タスク スケジューラ ライブラリを選択。
  2. 真ん中のペインより、先ほど作成した タスク empty を探し、右クリック > プロパティ を選択。
  3. 操作」タブで、編集ボタンを押す。
  4. プログラム/スクリプト で、上記の保存したスクリプトを参照して、指定する。引数の追加は、空にした。

img_0037

 

4. タスクの履歴を確認する

SnapCrab_タスク スケジューラ_2013-1-13_1-0-39_No-00予めタスクの履歴を有効にしておく。

タスクのプロパティと履歴を表示する によると、

タスクの履歴は、有効または無効に設定することができます。[操作] ウィンドウで [すべてのタスク履歴を無効にする] または [すべてのタスク履歴を有効にする] をクリックして、タスクの履歴の表示を変更します。

その後、各タスクを選択し、「履歴」タブをクリックすると、履歴が表示される。

作成したタスクは、「ログイン後」に実行されるので、一度ログアウトした後、再ログインし、履歴を確認する。

 

5. スリープから復帰したときに実行する

追記(2013/02/01): スリープから復帰したときに、ブラウザの動作がもっさりする傾向ある。スリープから復帰した直後にも empty.exe を実行したい。

上記で作成したタスク empty のプロパティを開く。

「トリガー」タブを開き、「新規」ボタンを押す。

SnapCrab_新しいトリガー_2013-2-1_1-16-12_No-00「トリガーの編集」ウィンドウにおいて、以下のように設定した。

  • タスクの開始: イベント時
  • 設定
    • ログ: システム
    • ソース: Power-Troubleshooter
    • イベント ID: 1

 

設定値

このトリガーは、システムのログを元にしている。

トリガー によると、

[イベント時]
このトリガーは、特定のイベント エントリがイベント ログに追加されたときにタスクを実行させます。…

基本イベント トリガー設定を選択する場合、特定のイベント ログの 1 つのイベントがタスクをトリガーします。イベントが含まれるイベント ログとイベント発行者名を選択し、イベント ID を指定します。

システムがスリープするときのログを調べるには、以下を参照。

具体的な値は、システムの起動・終了時に記録されるイベントログ – GeekFactory によると、

休止状態から回復
Power-Troubleshooter
1
システムはスリープ状態から再開しました。

 

参考記事

参考サイト

2012年1月9日月曜日

どんな紙でもポストイットにする糊 - 「貼ってはがせる糊」も100円ショップにあった

1. スコッチ (Scotch) は、貼ってはがせるのり

ちょっとしたメモには、ポストイットを使う。 TODO やアイディアをさっと書き、ディスプレイの端や、ノートに貼り付ける。貼りつけた後に移動できるので、後で分類したり、考えをまとめたりするときの必需品。

印刷に失敗した裏紙も、メモ用紙として活用するため、ポストイット程度の大きさにして、机に常備している。こちらもポストイットのように、糊で貼り付けた後、はがして整理したい。

3Mのスコッチは、はってはがせるスティックのり

きれいにはがせて、貼り直しもできる、仮止めや切り貼り作業に最適なスティックのりです。

  • なめらかでのびがよくつかえます。
  • ムラなく塗れてしわになりません。
  • 重ね塗りすれば、粘着力が強くなります。

近くの文房具店で、売ってなかったため、Amazon で検索。送料のことを考えると、まとめ買いした方がお得。

しかし、よほどまとめ買いをしないと、値段に対して送料が高くつく。。(@_@;

 

2. ダイソーにあった「貼ってはがせる糊」

先日、100円ショップのダイソーに、モレスキンの手帳ならぬ、ダイスキンを探しに行った。

運良く、ダイスキンの A7 サイズが置いてあった。手にとって見ると、ノートとしてはこれで十分。モレスキンの10分の1以下の値段を考えれば、自然とこちらを選択する。長期間の保存に適しているのか分からないけれど、どうせ大したことは書かなので、必要にして十分。

来たついでに、貼ってはがせる糊「スコッチ」の類似品もあるかと思い、探してみた。期待せずに、糊のコーナーを見ていたら、「貼って剥せるのり」を発見。

DSC03617

2本で100円なので、およそスコッチの6分の1くらいの価格。

モレスキンの模造品がダイスキンなら、こちらは、さしずめ「ダイスコッチ」とでも呼べばいいだろうか?

1週間使ってみたが、接着に問題を感じない。貼り跡が残ることもなく、逆に接着が弱いわけでもない。長期間の場合、どうなるか分からないけれど。

それにしても、商売って、何でもありの殺し合いの世界だな。中国のパチモノもびっくりの100円品質。恐るべし、類似品。どんどん、先発品をパクっ…、倣って下さい。

 

3. 色々な「貼ってはがせる」シリーズ

貼ってはがせる」をキーワードに検索すると、色々と便利そうなものが見つかった。

 
http://wol.nikkeibp.co.jp/article/column/20110922/114103/

新感覚の“はってはがせる”付箋「PETA」:日経ウーマンオンライン【川島屋百貨店】 via kwout