バッチファイル

2014年6月28日 (土)

GoogleChrome インストーラの直リン (2014/06,2014/08頃)

使いにくさが倍増しつつも進化はしている GoogleChrome。
Custom.css が廃止されたり、自家製拡張機能のインストールに制限がかけられたり、何かこうモヤモヤした変更が積み重ねられてゆく進化の方向性。
とはいえ、64bit版が chromium から canary と dev にようやく降りてきているのも進化。

これから beta と stable で2回は編集しそうな予感がするので以前のエントリを再編集せずに新規に再び 『GoogleChrome 単体インストーラの直リンを知る方法』。

GoogleChrome_DirectLinks.cmd

以前の時には省いていても通っていた OSのバージョン情報 と アーキ が 64bit版 の鍵になった模様、今でも省くと 32bit版 になる。
バージョンは Windows Vista の 6.0 より大きければとりあえずレスポンスが得られる、6.00001 とかでも。
プラットフォームに至っては platform="Macwinnnn" とかにしても今のところ弾かれない様子。

【2014/08/27:追記&変更】
stable 64bit のレスポンス確認、バッチファイル中の該当部分編集、タイトル変更
【2014/07/18:追記&変更】
beta 64bit のレスポンス確認、バッチファイル中の該当部分コメントアウト解除

| | コメント (0) | トラックバック (1)

2013年3月30日 (土)

Google日本語入力のインストーラをダウンロード

半年ほど前、GoogleChrome のインストーラの入手URLを調べた際についでに調べたGoogle日本語入力のmsiインストーラの直リンを知る方法。
2013/03/30現在、 Google日本語入力 のインストーラはバージョンさえ把握すれば直リンURLは規則的に決まっているので、直リンを知るためというより、Google日本語入力のインストーラをダウンロードする手間を簡略化するためのバッチファイル。

用意するもの

これら2つがパスの通った場所にあり使える状態なこと。

GoogleIME_ダウンロード.cmd

実行するとバッチファイル中で指定した場所にインストーラをリネームしてダウンロード。

インストールについて

インストーラはそのまま実行してインストールしようとしてもハマるので幾つかのお約束。

     
  1. インストーラを実行する際にはファイル名を元に戻す
      googlejapaneseinput32.msi もしくは googlejapaneseinput64.msi  
  2. 開発版の場合 orca で LaunchCondition の『このパッケージは開発版です~』の条件を「 Drop Row 」で削除
      編集後、保存して orca を閉じる  
  3. 必要に応じ上記2点を行った上でインストーラを実行してインストール  
  4. GoogleUpdate では自動的にアップデートされないので、毎回手動で更新

勝手にアップデートされない、というのは個人的には大きな長所。

【2013/07/02 追記 修正&変更】
  • 修正 '\' ⇒ "\"
  • 2013/07/02 14:00 頃にサーバーは開発版のバージョンは 1.11.1490.100 と返事をしていたものの、その時点では 404 not found でサーバー上に無い状態(18:00過ぎに上がった模様)でおかしな事になったため、ダウンロードエラー時にそこはかとなく対応
サーバーに上げてない(ように見える?)状態で先に応答を変えるって……

| | コメント (0) | トラックバック (0)

2012年11月30日 (金)

GoogleChrome インストーラの直リン (2012/11, 2013/07頃)

キーワードが悪いのかググって1ページ目に目的の情報、『GoogleChrome 単体インストーラの直リンを知る方法』、が見あたらなかったのでメモ。

ほぼ固定であった GoogleChrome 単体インストーラの直リンが、一ヶ月ちょい前からその都度変化する文字列を含むようになってその時調べたもの、2012/10 下旬の話。

Windows向け GoogleChrome の安定版(stable)、アップデート(差分ではないフル版)、ベータ版(beta)、開発版(dev)、canaryのインストーラの直リンを知るためのバッチファイル。

GoogleChrome_DirectLinks.cmd

参考
Omaha Client-Server Protocol V3
https://code.google.com/p/omaha/wiki/ServerProtocol

任意のバージョンの直リンも得られそうな感じはするものの、試したかぎりうまく行かず
『その時点でダウンロード可能なもの』
しか直リンが分からないのが難。
また、暫くすると(バージョンが幾つか上がると?) 落とせなくなるのか beta,23.0.1271.40 や dev,24.0.1297.0 では今はもう単体インストーラが落とせない。
GoogleChrome 更新用バッチファイルでアップデート時に過去バージョンをアーカイブさせるべきか悩ましいところ。

任意のバージョンで自在に試す、のは canary や chromium の役目って分業になったのかな?

【2014/06/28 補足】
64bit版の直リンも拾えるものを『GoogleChrome インストーラの直リン (2014/06頃)』に
【2013/07/15 変更・追記】
通常は差分アップデートとして提供される場合に対応
例) Webのインストールでは 28.0.1500.71 がまずインストールされ、アップデートで 28.0.1500.72 になるなど直接最新版が入らない場合
エントリのタイトル変更、他
【2013/06/15 変更・追記】
サーバーのメンテ?で通常とは異なる時に何が起きたか判断しにくかったので、多少分かりやすくなるように変更
他、ココログの有難迷惑仕様にほんのりと対策
【2013/04/13 変更・追記】
canary も対象に含めたバッチファイルに差し替え & それに伴う変更

| | コメント (0) | トラックバック (0)

2012年4月30日 (月)

Google日本語入力 手抜き入力辞書(≒省入力、≒一部短縮)

日本語入力で変換の精度以前に、ローマ字入力にしろ、カナ入力にしろ(できないけど)、キー入力は減らせるものなら減らしたい。

例えば、

アップデートする

あぷで』 → 『アップデート』 名詞,サ変
のように登録していれば
あぷでする』 → 『アップデートする
が可能、言うまでもなくとても有効な手段。
でも意味のある短縮をするとなると手作業での単語登録が面倒、かつ、その省略語を”知っている”、”覚えている”必要があるのである意味厄介。

多少入力が増えても機械的なルールに基づいて省入力できる方がつぶしが効く。
キーの配置的に入力が少し面倒な『』。
入力の手間はさほどでもないけれど省こうと思えば省ける『』。

標準読み  あっぷでーとする  →  アップデートする
追加読み あっぷでとする
あぷでーとする
あぷでとする
標準読み  ほっとかーぺっと  →  ホットカーペット
追加読み ほっとかぺっと
ほとかーぺと
ほとかぺと

というような変換を許容する『促音、長音(長音記号)の入力を省ける辞書』を作成。
作成した辞書ファイルは Google日本語入力 に限らず ATOK などでも使えるけれど、取りあえずここでは Google日本語入力 での話。

お世話になったサイトや方針など

辞書ファイルをゼロから作るのはしんどいので作成する辞書の素材にできる辞書を確保したり、辞書作成に必要なツールの使い方を確認したり。
当時とっかかりが相対的に簡単そうにみえた(?) sed で何とかなったので、本件は sed をバッチファイルから利用。

以上を踏まえ、あらためて大まかな方針を列挙すると

  • 促音、長音(長音記号)の入力を省ける辞書をそれぞれ作る
    例えば 『ホットカーペット』を
    ほとかぺと
    『ー』『っ』両方省略
    ほっとかぺっと
    『ー』のみ省略
    ほとかーぺと
    『っ』のみ省略
    の3パターン
  • 辞書はゼロから作成するのでなく、加工できるフリーな辞書(辞書素材)ファイルをゲットする
  • かな→英単語(?)
    • カナなどの日本語だけでなく、かな英単語変換(?)においても
      にゅよく』 → 『New York
      のようにする
    • かな→英単語(?) 変換においては状況から考えて、元々の品詞に関係なく全て「名詞」を割り当てて変換させる
  • 辞書ファイルの編集には sed を使う
  • 『ー』は SJIS のダメ文字のひとつなので注意する

というわけで情報収集など

感謝多謝!

準備するもの

辞書のもとファイルは Mozc のサイトから svn で拾ったり、ブラウザで辿って 「View raw file」 からダウンロードしたり、適当にゲット。

  1. 辞書のもと :その1
    辞書ファイル と 品詞の定義ファイル
    辞書の元ファイル最新の一覧を見るだけならここ (2012/04/29現在 r111)
    http://code.google.com/p/mozc/source/browse/#svn/trunk/src/data/dictionary
    • 辞書ファイル
      dictionary00.txt から dictionary09.txt の計10個 (各5MB程度)
    • 品詞の定義ファイル
      id.def
      (150KB程度)
    • 辞書ファイルのライセンスと Mozc の辞書に関する注意書き
      README.txt
    (Mozc 全体のライセンスはwebサイトの左の方にあるような、Mozc と Google日本語入力 の違いのページにあったような)
  2. 辞書のもと :その2 かな→英単語 変換用
    2012/04/29現在最新(r111)のファイルには かな→英単語 変換のもとが含まれていないので、かな→英単語 のもとを含むリビジョンの辞書ファイルを確保
    • 辞書ファイル r72 の dictionary09.txtr72_dictionary09.txt として保存
    • 品詞の定義ファイル r72 の id.def (※単語の品詞を適切に扱う場合には必要)
  3. 辞書登録時の単語の品詞一覧
    辞書ツールで品詞選択を目視するか次のファイルで確認
    trunk/src/data/rules/user_pos.def
  4. 編集の主役 sed
    UTF-8 を含む日本語マルチバイトに対応した sed である onigsed
    GNU sed with Oniguruma (Onigsed)
    http://www.kt.rim.or.jp/~kbk/sed/
    Onigsed 2009年10月31日バージョン
  5. 並べ替えに sort
    UTF-8 に対応した sort として sortl
    http://www.massangeana.com/mas/archive/archive.htm
    sortl 1.11
    Windows標準の sort は UTF-8 が適切に扱えないので不可
  6. 重複処理に uniq
    試した限りでは特に破綻無く処理できた
    GNU utilities for Win32 の GNU textutils に含まれる uniq
    http://unxutils.sourceforge.net/
  7. 他、必須ではないもの
    • ファイル分割に split
      上記 GNU utilities for Win32 の GNU textutils に含まれるので uniq とセットで
    • サンプルのバッチファイルで辞書の元ファイルをゲットするなら wget
      単一のバイナリですむ Wget 1.12 for windows (2012/03/16 現在 1.13.4 が最新) がお手軽

各ツールの exeファイルはパスの通った所に置くか、作業用フォルダに置いておく。

辞書ファイルの作成

各種ツールのexeファイルを作業フォルダに置くならこんな感じ。

作業フォルダ     
dicsource    辞書のもとファイルなど置き場 
dictionary00.txt ~ dictionary09.txt       辞書のもとファイル
r72_dictionary09.txt       辞書のもとファイル
dictmp    一時フォルダ (バッチファイル中で作成)
短縮辞書生成_長音.cmd    長音処理用バッチファイル
短縮辞書生成_促音.cmd    促音処理用バッチファイル
短縮辞書生成_長促音.cmd    長音と促音処理用バッチファイル
短縮辞書生成_r72かな英.cmd    かな→英単語(?)処理用バッチファイル
onigsed.exe    sed
sortl.exe    sort
split.exe    split ※
uniq.exe    uniq
長音.sed    長音処理用 sedスクリプト
促音.sed    促音処理用 sedスクリプト
長促音.sed    長音と促音処理用 sedスクリプト
r72かな英.sed    かな→英単語処理用 sedスクリプト
短縮辞書_まとめ.cmd    生成した辞書ファイルをひとつにまとめる ※
辞書の元ファイルget カナ英単語含む.cmd    辞書ファイルを wget でゲット ※
wget.exe    wget ※
gime_4-各種ショートカット作成.cmd    デスクトップに各種ショートカットアイコン作成 ※
               

※は必須という程でもないので必要に応じて

バッチファイル と sedスクリプト は 短縮辞書生成_長音.cmd長音.sed の組み合わせのようにペアで利用する。
処理の都合上バッチファイル名、sedスクリプトファイル名は固定。

各バッチ、スクリプトの内容

手間は大して変わらないので3パターン作成しているものの、実利用的には、『ー』『っ』両方省略、のパターンのみ生成しておけばとりあえずは十分。
なお、「短縮辞書生成_長音.cmd」「短縮辞書生成_促音.cmd」「短縮辞書生成_長促音.cmd」の三つのファイルの中身は同一、ファイル名が異なるだけ。
sedスクリプトは UTF-8 BOMなし で保存。

  1. 『ー』のみ省略用
    短縮辞書生成_長音.cmd


    長音.sed


  2. 『っ』のみ省略用
    短縮辞書生成_促音.cmd は「短縮辞書生成_長音.cmd」をリネームしたもの

    促音.sed


  3. 『ー』『っ』両方省略用
    短縮辞書生成_長促音.cmdは「短縮辞書生成_長音.cmd」をリネームしたもの

    長促音.sed


  4.  かな→英単語(?)処理用
    短縮辞書生成_r72かな英.cmd


    r72かな英.sed

    かな→英単語(?) 変換に必要部分だけを、 r72_dictionary09.txt の 103,372行目以降だけ、を処理

  5. 生成した辞書を一つにまとめる
    短縮辞書_まとめ.cmd

    まとめる対象となるファイル名は「短縮辞書_*-all.txt」のワイルドカードで決め打ち、誤爆に注意

  6. 辞書の元ファイルなどをダウンロードする
    辞書の元ファイルget カナ英単語含む.cmd

    最新の辞書ファイル群と r72 の dictionary09.txt とid.def をダウンロードする
    要 wget

  7. Google日本語入力のツール類のショートカットアイコンをデスクトップに作成
    gime_4-各種ショートカット作成.cmd

    Google日本語入力 の プロパティ、辞書ツール、単語登録、などのショートカットアイコンを作成
    アイコン作成は常に上書きで更新

辞書の作成と利用

  1. sedスクリプト を利用形態に合わせて適当に編集: Google先生に聞く「sed 置換 スクリプト」
  2. sedスクリプト 中の id と id.def および 辞書ファイル dictionaryXX.txt に齟齬がないかチェック
  3. 利用する辞書ファイルに合わせてバッチファイルを実行
    生成される辞書ファイル名はそれぞれ次の通り
    • 短縮辞書_長音-all.txt
    • 短縮辞書_促音-all.txt
    • 短縮辞書_長促音-all.txt
    • 短縮辞書_r72かな英-all.txt
  4. 生成された辞書ファイルを Google日本語入力 の 辞書ツール から適切に登録

『ー』『っ』両方省略用【短縮辞書_長促音-all.txt」】と、 かな→英単語(?)処理用【短縮辞書_r72かな英-all.txt】、の二つを生成&登録しておけば事は足りる。

留意事項

使い勝手や辞書とバッチファイルとスクリプトなど

  • 読みこそ異なるものの、ある種の重複した変換候補が増えるので、ウザくなる、というか ウザい
    辞書追加したては強烈にウザい、ユーザー辞書の登録後は結構強くて普通の語彙が下位に落ちるのでウザい
    特にサジェストが、より便利でもあるし、甚だウザい、とも
    ウザいけど便利
  • 各sedスクリプトに関して (かな→英単語? 変換用をのぞく)
    • 変換する語句全てを網羅している訳でないので必要に応じて、対象品詞を追加したり削ったり
    • サンプルでは辞書ファイルで割り当てられている左側(高位な品詞?)の「名詞,サ変接続」「名詞,一般」「名詞,固有名詞,一般」「名詞,固有名詞,地域,一般」「名詞,固有名詞,地域,国」「名詞,固有名詞,組織」「名詞,形容動詞語幹」に対応
    • かな→英単語(?) 変換用途以外の各sedスクリプトは、辞書ファイル及び品詞定義ファイルのリビジョンが変わるごとに見直す必要がある
      id.def, 長促音.sed 一部抜粋
      r111 1950 名詞,一般,*,*,*,*,*
      /^[^\t]+(?:ー|っ)[^\t]*\t1950/{
      r105 1941 名詞,一般,*,*,*,*,*
      /^[^\t]+(?:ー|っ)[^\t]*\t1941/{
      のようにリビジョンが上がって id に変更が入れば 各sedスクリプト も合わせて要編集
  • 短縮辞書生成_r72かな英.cmdr72かな英.sed に関して
    • 前述したように元々の品詞を無視してすべて名詞扱いにした上で処理
    • 『ー』のみ省略、『っ』のみ省略、『ー』『っ』両方省略、の3パターンを一括処理していて個別処理にしていないため辞書ファイルは多少大きめ、必要に応じて不要な処理をコメントアウトしたりするもよし
  • ユーザー辞書登録
    • 既に利用しているユーザー辞書に追加で登録すると、後で分離、は面倒なので、この入力短縮辞書用にユーザー辞書を新規追加してそこに登録することを強くオススメ
    • 重複単語に関しては辞書登録時に適切に処理されるので、それ程神経質になる必要はない
    • もとの辞書ファイルでハナから不適切な状態のデータとなっている幾つかの語は登録に失敗する
    • 語彙が豊富なほど使用メモリも増えるし、初回起動も遅くなる
      r111 で全部入りの辞書登録をした時にはデフォルト時に比べ軽く30MBは食う場合がある


覚え書き

  • 辞書登録語品詞で分かりにくいもの、「短縮よみ」と「抑制単語」に関して
    http://googlejapan.blogspot.jp/2011/07/google_21.html
    オフィシャルブログより一部引用
    短縮よみ
    「短縮よみ」として登録された単語は、単独で入力されたときのみに候補に表示されます。例えば、「六本木ヒルズ森タワー」を読み「じゅうしょ」で単語登録した場合、入力文字が「じゅうしょ」だけの場合に変換すると「六本木ヒルズ森タワー」が変換候補に出てきます
    抑制単語
    「抑制単語」として登録された単語は、変換候補に現れなくなります
  • ひとつのユーザー辞書における最大収録語数
    GoogleJapaneseInput-1.5.1053.100 では 1,000,000語
    • 1,000,000語 を超えた部分は切り捨て
    • なので 1.5.1053.100 で 約200,000語 程度はまだまだ余裕アリ?
    • 1,000,000語 まで登録そのものは可能だが、辞書ツールの操作や表示の更新が重たくなったり、
      Google日本語入力の使用メモリが 300MB ぐらいに増えたり(通常は20~50MB程度)
  • 登録語句の重複
    GoogleJapaneseInput-1.5.1053.100
    単一辞書内の重複語は辞書登録時に処理され一つになるので、辞書ファイルへの sort & uniq は必須ではない
    ただし、このエントリの手順で生成した辞書ファイルを一つにした場合、sort & uniq しないと重複が 1,000語 を軽く超えるので放置はキモイ
  • Mozc と Google日本語入力の違い
    http://code.google.com/p/mozc/wiki/AboutMozc
    Google日本語入力 で使っている辞書の元ファイルが欲しいね……
    個人で締結できる NDA なんて無さそうだけど NDA 結んだら提供してくれないかしら


雑感

ひとつのユーザー辞書に登録可能な語数は 1,000,000語、同期可能なユーザー辞書に登録可能な語数は、たったの 10,000語。
辞書はアクセスを厳重に管理した上で GoogleDrive にでも置けという事か?

sed じゃなく Perl とかが使えればもっとスマートに実現できるんだろうと夢想しつつ、昔も今も変わらず Perl など全く使えない。
この時言及した辞書ファイルは エクセル とテキストエディタで作っていたような微かな記憶が。

読みの文字数に下限と上限、変換後がカナと『ー』のみ、というような縛りをかけると便利になるような、がっかりするような。
いずれにせよ控えめに評価しても、ここの手法で作成した辞書を使うと語彙多すぎ。
Google日本語入力はお腹いっぱいの語彙、ATOK は以前からの人力登録辞書、のような住み分け使い分け。

多すぎない程度に充実したこの手の『ー』『っ』入力省略可能な辞書を、オフィシャルに作ってオプションの辞書にするとしたら、正しい日本語を標榜する ジャストシステム ではなくフリーダムな語彙を持つ Google な気がする。

【2012/05/01:追記】

  • sedスクリプトの文字コードに関して念の為に追記
  • 抜けていた「辞書の元ファイルget カナ英単語含む.cmd」に関する内容を追加
  • とくにおかしかった表現を修正

| | コメント (0) | トラックバック (0)

2009年4月11日 (土)

7-Zip で常にバックグラウンドで圧縮したい

ひさしぶりにバッチファイルのメモ。

7-Zip で高レートの圧縮をする時、CPU をほぼ完全に持って行かれて圧縮する間何もできなくなるのはなんとかできないかと。
2個目、3個目の圧縮を順次開始した後に『バックグラウンド』をクリックするのがちょっと面倒にもなる。
WinRAR では常にバックグラウンド処理させるオプションがあって地味に便利。それに相当するものがないかとオプションを眺めてもそれらしいものが無い(ver.4.65)。

7z圧縮に対応しバックグラウンド動作可能なアーカイバは何処かにあると信じているものの探索に挫折。
幸いにも 7-Zip にはコマンドライン用の実行ファイルがあるので、適当にバッチファイルをでっち上げて『送る』メニューにショートカットを追加。

要はとあるフォルダに対して

>start /low 7z.exe (適当に圧縮)

するだけなのでとりあえず 3パターン 4パターン、

zip圧縮.cmd


7z圧縮LZMA.cmd


7z圧縮LZMA2.cmd

(2009/10/24 追加 : 要 7-Zip ver.9系)

7z圧縮PPMd.cmd


単独のフォルダファイルやフォルダをまとめて『送る』ための用途に特化しただけで使用時の注意事項は色々あるけれど、それなりに便利。

ただ、『送る』用のバッチファイルを使うことは本意ではないので、常にバックグラウンド処理のオプションが付くのが早いか、バックグラウンドオプション付きの7zアーカイバを見つけるのが早いか、なんとかなるとうれしい。

【2009/04/20:追記】
気が変わったので、複数選択した状態の『送る』で、各々個別に圧縮するようにバッチファイルを変更
【2009/08/15:追記】
Windows2003 リソースキットの sleep.exe は 32bit なので timeout.exe に変更
【2009/10/24:訂正&追記】
意味不明のファイルディレクトリ名の渡し方だった恥ずかしい間違いを %~nx1 に訂正
表記の調整
LZMA2 用のものを追加、スレッド数を増やしてみるパターンも取り入れ、など現状のものに更新

| | コメント (0) | トラックバック (0)

2008年2月 2日 (土)

バッチファイルのメモ 2

良かれと思ってしたことが罠に落ちるのはままあること、いや自分だけかも、等と思いつつ前のメモと合わせてメモ。

余計な事をしてハマッた例

見栄えが良くなるかと、スペースを入れたら失敗

  • これはNG
    if "%name1:~-4%"==".wim" ( set name0=%name1:~0,-4% ) else ( set name0=%name1% )
    echo ファイル名 %name0%.wim で良いですか?
    これだと test.wim が test .wim の様に 拡張子の前にスペースが入ってしまう
  • これはOK
    if "%name1:~-4%"==".wim" (set name0=%name1:~0,-4%) else (set name0=%name1%)
    echo ファイル名 %name0%.wim で良いですか?
    予定通りに test.wim が test.wim になる

 

何かと忘れがちなので自分用サンプル :その1

この時の後に GUID コピペに嫌気がさして作成した BCDストア 編集用バッチ

  • editbcd.cmd


    ramdiskoptionが作成済みの2回目以降の実行時にはエラー表示が混ざるものの、結果には影響していないらしく面倒で無視することにした記憶が。
    他にもコマンドと結果を表示させたく迷った痕跡はそのまま。
     
  • 【2008/02/23:追記】
    {ramdiskoptions} の罠??? 』のように ramdiskoption のエントリが複数ある時メニューが意図したように表示されない状態になる場合に暫定対処したもの
    editbcd.cmd

任意の場所にある BCDストア を編集できる GUI なアプリが欲しい。。。

何かと忘れがちなので自分用サンプル :その2

この時に Trac0.11b1 と Pygments の組み合わせでバッチファイルをシンタックスハイライトさせたくなったので作成

  • svn プロパティ でとりあえずまとめて設定
    sjisADD.cmd

    余計なものが色々あるのは後で使い回しコピペ用

    プロパティでこのように指定して良いものかが分からない。。。

  • そもそもこんな事をせずに Trac の設定で [mimeviewer] の mime_map に application/x-dos-batch;charset=Shift_JIS:cmd:bat を追加すれば良い事に気がついたのはバッチファイルを作ってから
    trac.ini のごく一部にこんな感じで設定
    [mimeviewer]
    (いろいろ略)
    mime_map = (中略),application/x-dos-batch;charset=Shift_JIS:cmd:bat
    (いろいろ略)

| | コメント (0) | トラックバック (0)

2008年1月 6日 (日)

htmlファイル⇒右クリック⇒ホームページ・ビルダーで編集

IE が標準のブラウザの時に ホームページ・ビルダー をインストールしてやると htmlファイル の右クリックメニューに

『ホームページ・ビルダー11 で編集』
Hpb11ie7context1

というようなメニューが増える。

Firefox を標準のブラウザにしていると、htmlファイル を右クリックした時にはこのメニューが変化する。
Hpb11ff2context1

『右クリック⇒プログラムから開く⇒ホームページ・ビルダー 』や、『送る』にホームページ・ビルダーを追加しても良いけれどメニューをたどるのが面倒。
普通に

フォルダオプション⇒ファイルの種類⇒HTM Firefox Document ⇒ 詳細設定 ⇒ 新規
⇒アクションにメニュー表示、アクションを実行するアプリケーションに「"c:\Program Files\IBM Homepage Builder V11\bin\hpbpage.exe"」

と指定するだけだと以前少々痛い目(ツールバーがおかしな事)に遭ったのをすっかり忘れていて、またしても痛い目に遭ったので別方法をメモ。

レジストリファイルならこんな感じ(ホームページ・ビルダー11)。
hpb11editmenu.reg

同じ事をバッチファイルで多少決めうち、多少確認気味にするとこんな感じ、ホームページ・ビルダー11 でも ホームページ・ビルダー10 でも。
hpbeditmenu.cmd

できあがり
Hpb11ff2context2

『ホームページ・ビルダー11で編集』 にするとメニューが横に広がるので『ホームページビルダーで編集』に縮めるのがポイントとも言えなくはない。

正攻法で痛い目に遭わないようにするには、アクションを実行するアプリケーションで

"c:\Program Files\IBM Homepage Builder V11\bin\hpbpage.exe" "%1"

のように %1" で括ってやることを忘れずにすれば良いだけの話。
持っていないので未確認だけれどホームページ・ビルダー12 でも Firefox が標準のブラウザの時にメニューは追加されないのかね?

無駄に長いメモ終了。

| | コメント (2) | トラックバック (0)

2007年11月18日 (日)

Vista エピソード その1

Vista でバッチファイルを右クリック「管理者として実行」した時にどうにも不便だった事が解決。

WindowsAIK のプロンプトのバッチファイルを何気なくみると


%~dp0

そうかコレを使えばバッチファイルを右クリック「管理者として実行」した時に UAC に c:\Windows\system32 へ飛ばされなくてもすむ。
次のようにオマジナイを添えれば良いという事か。


ググれば絶対に出て来るハズと思いつつ目からウロコだったのでここに記す。

【参考】

>help for

| | コメント (1) | トラックバック (1)

2006年10月 2日 (月)

バッチファイルのメモ

忘れがちな、むしろ、書くたびに忘れきっているバッチファイルのメモ。
この程度で事が足りているのがもの悲しい。

  1. hoge_20061002-2229.wim のような日時入りファイル名を作りたいとき
    日付の表示によって影響を受けて万能ではないので注意
    set hoge=hoge_%date:~0,4%%date:~5,2%%date:~-2%-%time:~0,2%%time:~3,2%
    echo %snapshot%.wim

    事前に確認しなければいけないのは以下
    >echo %date%
    2006/10/02

    >echo %time%
    22:29:15.13

  2. 入力を受け取りたい時
    set /p

    set /p hogehoge="入力してください---> "

    説明が長くなって右の方でチマチマ入力するのがいやな時は適当に以下のような感じで
    echo ファイル名がデフォルトのままでよければそのまま[Enter]
    echo 変更する場合はファイル名(拡張子除く)を入力して[Enter]
    set /p hogehoge="---> "

  3. 一つ前の変形で、再起動後にも数を数える
    再起動の数を数える時などファイルに回数を書き出しておく
    count.txt は「0」や「100」等、数だけのテキストファイル
    set hoge=0
    set /p hoge=<count.txt
    set /a hoge=%hoge%+1
    echo %hoge% 1>count.txt

  4. 普通のリスト的な表示するのでなく微妙な3択
    仮定となる前提条件があるときに (なぜか忘れがちなこの書き方)
    echo Dドライブに作成する [D]
    choice /c:dmq /n /m "メニューに戻る [M]  /  終了する [Q]"
    if errorlevel 3 goto end
    if errorlevel 2 goto startmenu
    errorlevel 1 が無いのは D が前提で続くという事であえて書かない、見た目をリストっぽくしないのが目的

    choice.exe は Windows2003 Server か WindowsVista から拾ってくると多少幸せ

  5. ドライブ(リムーバブル)が使えるか知りたいとき
    exist D:\NUL
    を調べる
    if exist D:\NUL (echo 使えそう) else (echo ない)

    以上を踏まえて次を適当にコピペする
    set driveList=

    if exist A:\NUL (set driveList=%driveList%A,)
    if exist B:\NUL (set driveList=%driveList%B,)
    if exist C:\NUL (set driveList=%driveList%C,)
    if exist D:\NUL (set driveList=%driveList%D,)
    if exist E:\NUL (set driveList=%driveList%E,)
    if exist F:\NUL (set driveList=%driveList%F,)
    if exist G:\NUL (set driveList=%driveList%G,)
    if exist H:\NUL (set driveList=%driveList%H,)
    if exist I:\NUL (set driveList=%driveList%I,)
    if exist J:\NUL (set driveList=%driveList%J,)
    if exist K:\NUL (set driveList=%driveList%K,)
    if exist L:\NUL (set driveList=%driveList%L,)
    if exist M:\NUL (set driveList=%driveList%M,)
    if exist N:\NUL (set driveList=%driveList%N,)
    if exist O:\NUL (set driveList=%driveList%O,)
    if exist P:\NUL (set driveList=%driveList%P,)
    if exist Q:\NUL (set driveList=%driveList%Q,)
    if exist R:\NUL (set driveList=%driveList%R,)
    if exist S:\NUL (set driveList=%driveList%S,)
    if exist T:\NUL (set driveList=%driveList%T,)
    if exist U:\NUL (set driveList=%driveList%U,)
    if exist V:\NUL (set driveList=%driveList%V,)
    if exist W:\NUL (set driveList=%driveList%W,)
    if exist X:\NUL (set driveList=%driveList%X,)
    if exist Y:\NUL (set driveList=%driveList%Y,)
    if exist Z:\NUL (set driveList=%driveList%Z,)

    echo %driveList%

普通の WindowsXP のプロンプトでやると、鬱陶しい事になるが、WinPE 上からならスッキリ使える 6. 、何かウマい手はないものか。

| | コメント (0) | トラックバック (0)