SQLの窓 イラストAC フリー素材

2009年08月27日

パスが通るフォルダに置いて、コマンドとして利用できる、数メガの比較的小さなファイルをダウンロードするhttpget.vbs


WEBのファイルをコマンドラインからダウンロードするスクリプト : httpget.vbs ( 2〜3メガまでが目安 )


vbs をパスの通るディレクトリに置くというのはなかなか誰もやらないと思うのですが、コマンドが増えると思えば、内容によっては使ってみてもいいのでは無いのでしょうか。

それでも、既存の PATH 環境変数にあるディレクトリと言えば、windows のディレクトリだったりするので、避けたい気持ちは良く解ります。そういう場合は、専用のディレクトリを作って、そこに PATH を通せはいいのですが、これが一般的に言って面倒なはずです。

PATH 環境変数について知っていても面倒ですから、PATH 環境変数メンテナンス : Redmond Path という選択肢も微妙ではあります。で、最近作ったのがパッチ処理支援パッケージで、httpget.vbs のような自作コマンドをインストールできるディレクトリを作成して、PATH 環境変数にも自動登録してしまおうというものになっています。(スクリプトが存在するディレクトリをユーザ環境変数の PATH へ登録)

これからちょいちょいコマンド増やして行こうと思っています。転載が可能なフリーソフトなんかも、オンラインでインストールしたり、自作の exe や vbs や bat や hta なんかいっぱいありますので。インストールフォルダである、Program Files と同じドライブの laylaClass というディレクトリは、手書きブログのカスタムパレットツールで使用しているのですが、これはユーザさんとのやりとりで紆余曲折の上この場所になったので、vista でも比較的動作が信頼できる事を想定しています。
( vista のテストは常に一番最後ですけれど )


以下はファイルのダンプ中です( all vbscript )
Usercmd
laylaClass バッチ処理支援パッケージ 


とにかく、PATH が通ってる ユーザディレクトリがあると何かと都合のいい事が多いです。単純なフリーソフトならば、全部そこへコピーしてしまえば良いですし、PHP ですらそのままコピーしてしまうと、さらにコマンドの出来る幅が無茶苦茶増えます。

まず手始めに、今日調べたのはコマンドライン用のメール送信ソフトです。Basp21 でスクリプトを作成する手もあるのですが、パスワードがバレバレになるので、SMAIL 4.09 が良さそうです。検証は明日以降になりますが、ドキュメントや作者さんのHP 見た限りでは、ほぼ完璧なツールに思えますね。

コマンドラインで実行できるメールの用途は、一般的にバッチジョブのログや結果の通知です。業務でいろいろやる場合では欠かせないもので、これらの処理をできるかできないかでは会社レベルでの作業効率に雲泥の差がでます。多少無理してでも導入すべきですね。



posted by at 2009-08-27 20:15 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月28日

ExecuteGlobalを使用して文字列内の定義文を有効にして、httpで取得した関数ライブラリを使う

ExecuteGlobal は、ほとんど反則のようなステートメントですが、運用して3年近くなるので
もっと WEB で使えばと思うのです。これ使うと、ASP で、他ドメインにある関数定義使えたり
しますし、なんと言ってもメンテするのに一箇所でいいのが最高です。

VBScript : MDB作成 / http 経由で関数ライブラリを読み込む
ASP : 別ドメインにある関数ライブラリを使用して Mdb を作成する

スクリプトタグで外部参照できる wsf( WSH ) や HTA では、普通に src 属性で読み込めばいいのですが、
以下のルールを守って作っておくと、ASP で使えるだけでなく、ローカルで動的に変更してから関数化できます。
REM **********************************************************
REM ■ 動的にローディングする為の注意
REM 1) UTF-8N で保存する
REM 2) コメントは REM を使用する
REM 3) 条件式として = を使わない
REM ■ 問題回避の対策
REM .htaccess 
REM AddType "text/plain" .vbs
REM **********************************************************


posted by at 2009-06-28 20:25 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月23日

WSHでVBScriptからJavaScriptを呼び出す場合は先に定義が必要のようです



WSH : VBScript から JavaScript の呼び出し


そうそう、使う場面も無いのでたまたま使えてたので気にしてませんでしたが、
あらためてテストするとそういう事でした。ちょっと不思議では有りますが、

HTML 上のオブジェクトがローディング時にもそうなので、まあそうなのかなと。

これで、WSH では .wsf を使う場合において、多少気を使えば VBS と JS の
相互呼び出しは特に問題は無いですね。HTA は、画面表示後であれば当然ながら
OK ですし、ローディング中は試して無いですが、おそらくダメなんでしょう。

VBS から サーバへデータを POST するのに URL エンコーディングが必要なので
テストしてたらそうなりました。




posted by at 2009-06-23 22:16 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月15日

SendToディレクトリにあるファイルの表示・非表示を設定する

あまり使わない方もおられるかもしれませんが、「送る」という機能は、ユーザーが最も
カスタマイズしやすい、ランチャー機能です。

他の Shell 拡張は、専門知識が無いと無理なものが多いですが、
これは、ショートカット( またはスクリプト )をそこへコピーするだけでエクスプローラ
から使えるようになります。また、ディレクトリを作成すれば、階層構造のメニュー
が出来上がりますし、一時的に必要無い場合は「非表示」にすれば良いだけです。

Sendto_mtn

このツールは、その表示・非表示の一括処理と、
表示状態のエントリのプロパティを1クリックで表示させます。




posted by at 2009-06-15 18:06 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月13日

IEのツールバーにアプリケーションを追加する

結局、IE 拡張メニューと、IEツールメニューと、IEツールバーボタンは根っこは同じものです。

Ie_toolbar_button 

何に使うかと言われると、ちょっと悩みますが、
表示されているページをオブジェクトレベルで操作できるのは変わっていません。
もともと、メニューとツールバーはすぐ使えるかいったんメニューを開くかぐらい
の違いですしね。

ただ、IE7 はまだ使い慣れていないので、ツールバーがすぐ使えるという印象はまだ無いですね。
少なくともアイコンで操作をイメージしやすいのは間違い無いですけれど。



posted by at 2009-06-13 22:17 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月12日

IEのツールメニューにアドオンとして追加する実行形式

Ie_toolmenu

IEのツールメニューにアドオンする

実際は、実行できる種類には3種類あって、レジストリのエントリとしては、
Exec : 実行ファイル
Script : IE拡張メニューで実行できるスクリプト( なので、サンプルは .htm で中は VBScript )
ClsidExtension : C++ で書かれた dll

があります。


基本、IE拡張メニューと同じですが、マウスカーソル下のオブジェクトには
ツールメニューなのでアクセスできません。( ページ全体に対する処理になります )


 

posted by at 2009-06-12 17:11 | VBScript | このブログの読者になる | 更新情報をチェックする

たま・・・にGUIDが必要になりますが、手近なのはこれでしょう

WSH : GUID取得


IE のツールメニューにアドオンする場合、
とにかくユニークキーとしての GUID が必要になるのですが、

Microsoft ですし、これが一番いいと思います。

Guid

posted by at 2009-06-12 15:09 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年05月06日

小さなテキストエリアを大きいところへ転送して編集して戻す

09/05/07 12:00 インストール部分にバグがありました。修正済みです

テキストエリア入力拡張

今時のリッチなテキスト入力ではできませんが、通常のテキストエリア入力で
大きさが妙に小さくて困る事がよくあります。そういう時に使えるはずです。
( ブログのテンプレート設定なんてのは、基本狭いです・・・ )


Textareaex

posted by at 2009-05-06 03:03 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年04月26日

IE拡張メニューのメンテナンスツール。表示・非表示を一括設定

FC2 に専用ブログ作って1ヶ月以上経ってました。( 長期不在のため広告出てた・・ )
やっとプロトタイプができました。

凝ろうかシンプルにしようかずっと悩んでて、後回しになってたのですが、
結局シンプルにしました。非表示に設定するのが大目的だったので、
削除や名称変更も直接その場所に regedit でジャンプさせるからくりを組み込んで終わりです。

これでたいてい使えると思いますが、IE8 用に拡張子自動変更とかは考えてます。

HTA でやっているのは、手書きブログ用のツールでいろいろユーザ対応してきて、
特に HTA そのものが動かないと聞いた事がなかったので、それなら一番使い勝手がいい
HTA にしておけばいいと思いました。



Ieex

 

posted by at 2009-04-26 19:12 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年04月24日

指定時間経過後強制ログオフ

Windows オリジナルでは、指定時間帯( ログオン時間 )をこえるとログオフさせる事が
できるようですが( Net User で時間設定してローカルセキュリティポリシーで機能を有効にする )、
未検証で、世間的にもあまりやってないようです。

スクリーンセーバーの機能を利用すると、一定時間放置した時にログオフとかするような情報
もありましたが、電源オプションのほうが現実的です。

これは、目的はたまたまログオフですが、
WMI のイベントのサンプルとして他でも使える場合があると思い、作成しました。
dtBase = Now()
dtTarget = dtBase

' 30 秒後に強制ログオフ
dtTarget = DateAdd( "s", 30, dtTarget )
TargetH = Hour( dtTarget )
TargetM = Minute( dtTarget )
TargetS = Second( dtTarget )

Set obj = GetObject("winmgmts:\\.\root\cimv2")
Set objEvents = obj.ExecNotificationQuery( _
	"select * from __InstanceModificationEvent " & _
	"where TargetInstance isa 'Win32_LocalTime' " & _
	"and TargetInstance.Hour = " & TargetH & " " & _
	"and TargetInstance.Minute = " & TargetM & " " & _
	"and TargetInstance.Second = " & TargetS & " " _
)

Set objLatestEvent = objEvents.NextEvent 

Set colOperatingSystems = _
GetObject("winmgmts:{(Shutdown)}").ExecQuery( _
"Select * from Win32_OperatingSystem") 
For Each objOperatingSystem in colOperatingSystems 
	' 0:通常( マニュアル上4は強制とあるが、通常でも強制ログオフ )
	ObjOperatingSystem.Win32Shutdown(0) 
Next 
posted by at 2009-04-24 23:40 | VBScript | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX