SQLの窓

2010年08月06日

バッチファイル : IE でファイルをダウンロードして、ダウンロードしたディレクトリをエクスプローラで開く

IE が最後にダウンロードで使用したディレクトリはレジストリ内にあるので、reg /query で
該当場所を表示します。For コマンドで、プログラムの実行結果の標準出力を取り込め
るので、ディレクトリ部分を取り出して変数にセットして、Explorer で実行します。

For のオプションとして、"skip=4 tokens=3 delims=	" を指定しています。delims
には、タブを指定しており、reg コマンドのデータの区切りがタブなので、3番目のトー
クンが目的の文字列です。そこで、tokens=3 となって、%%i にセットされます。該当行
だけが必要なので、skip=4 となっています。

※ skip= は、実際の行数に対して指定します

Windows7 では、区切りがスペースに変わっており、他の仕様も微妙に変更されているので
以下のようにする必要がありました

"skip=1 tokens=4 delims= "

※ delims= の右側はスペース1文字です。
-noframemerging は、存在する引数ですが何も指定しないと IE8 が終わってしまうので 指定しています。iexplore.exe で、指定した URL からファイルをダウンロードして、ダウンロ ードしたディレクトリを開きます Microsoft ドキュメント Internet Explorer Command Line Options
@echo off
start /wait iexplore.exe -noframemerging http://lightbox.on.coocan.jp/download/WinOfSql102.lzh
FOR /F "skip=4 tokens=3 delims=	" %%i IN ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer" /v "Download Directory"') DO (
	Explorer /e,%%i
)

関連する記事

VBS : IEが最後にダウンロードしたディレクトリを開く
2008/7/28 - Internet Explorer 8 と信頼性

※ For コマンドの詳細は、For /? で表示されます


posted by lightbox at 09:09 | Comment(0) | バッチファイル | このブログの読者になる | 更新情報をチェックする

2010年07月28日

コマンドプロンプト : Sleep( ミリ秒 ) する

標準の Windows でスリープする方法は以下のようになります
REM バッチファイル内でも直接でも可能です

echo Wscript.Sleep 5000 > %TEMP%\sleep.vbs & cscript.exe %TEMP%\sleep.vbs
5000 は、単位がミリ秒ですから、5秒です。

同時に二つのプロセスが、sleep.vbs を作る事があると問題ありますが、
通常は大丈夫でしょう。また、ファイルを削除したければ、del を追加します

また、このような方法を使うと、バッチファイル内に VBScript のコードを書いて、
実行する事が可能となります。
以下は、GUID を取得してユニークな文字列を作成します
@echo off

echo strGuid = CreateObject("Scriptlet.TypeLib").Guid > %TEMP%\guid.vbs
echo strGuid = Replace(strGuid,"{", "") >> %TEMP%\guid.vbs
echo strGuid = Replace(strGuid,"}", "") >> %TEMP%\guid.vbs
echo strGuid = Replace(strGuid,"-", "") >> %TEMP%\guid.vbs
echo Wscript.Echo strGuid >> %TEMP%\guid.vbs

cscript.exe //Nologo %TEMP%\guid.vbs

関連する Microsoft のページ

スクリプトを使用して GUID を作成することはできますか?



posted by lightbox at 19:46 | Comment(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2010年07月25日

【ColorConsole 1.77】コマンドプロンプト機能を拡張するタブウインドウを使ったWindows アプリケーション

For free ColorConsole

2010/07/22 に最新の更新がされています、それによって F7 でコマンド履歴が
表示されるようになっています。一部日本語の為に動作しない部分がありますが、
基本的な機能は使えます。

Cc_01

基本設定

まず最初に (1) のメニューから Japanes を選択すると、メニューの大半が日本語で
表示されるようになります。(8) でウインドウの基本色を変えれるので、ベースを白
にしています。同じ場所で、disable ("string") parsing とあるので、チェックして
おきます。これは、画面上で " に挟まれた文字列を強調する機能ですが、日本語環境
ではうまく動かないようなので。

(1) から ColorConsole => Add to shell context menu でエクスプローラの右クリッ
クメニュー( ディレクトリ選択時 ) でそのディリクトリをカレントにして起動できる
ようになります。( Windows7 では正しく動きませんでした )

新しいタブ

(9) かまたは、(1) の新規作成で新しいタブが開かれます。全て閉じるには、(11)、
カレントを閉じるのは (12) です。

※ タブの右橋をクリックしてタブを閉じる事もできます

コマンドの履歴

Cc_02

CTRL キーを押しながら、右クリックするか、F7 キーで履歴ダイアログを出すか、
プロンプト(14)で下矢印キーまたは F8 で履歴処理が可能です。キーによる履歴は少し
使いづらいので、ウインドウの機能を使ったほうが良いでしょう。また、(3) にコ
マンドを登録できるのでそちらを利用する方法もあります( レジストリに登録され
るので、直接変更して切り替えるようなアプリを別に作ればいいと思います )

CLS は動作しないので、画面をリセットするには、(13) の GO をクリックします

Cc_03

その他

(4) はディレクトリを選択してカレントディレクトリを変更します( F2 )。F3 や
F4 もありますが、あまり使う事はなさそうです。

(5) はフォントサイズの変更で、クリックする毎に大きくなったり小さくなったり
しますが、(13) を実行してから行ったほうが良いと思います( 画面上から文字を
少なくしてから実行)

(6) では、コマンドプロンプトの表示を HTML 化してブラウザで表示してくれます
が、日本語が化けるのでは使えません。(7) は、RTF 化なのですがこちらはきちん
と表示されます。(10) は選択文字列を WEB で検索する為の機能なのですが、日本
語と日本語サイトに対して対応されていません。

コマンドプロンプトのウインドウ内は編集可能です。(2) を使って検索ができたり
コピー&ペーストをする為にそうしたのでは無いかと思いますが、カーソルーキー
で画面が崩れたりするので注意して利用する必要があります

※ 標準入力より入力を求めるアプリケーションは使えないので注意して下さい


使用されるレジストリは以下の位置になります
HKEY_CURRENT_USER\Software\SoftwareOK.de\ColorConsole


posted by lightbox at 04:42 | Comment(0) | 環境 | このブログの読者になる | 更新情報をチェックする