(ブログ統一のために、こちらへ移行)
先日仕事でVista上にOracleクライアントをインストールしたので、メモを残しておく。
まず、Vistaに対応したOracleクライアントは、Oracle10gR2以降らしい。(10.2.0.3から正式対応らしいが。。。)
今回は、Vista SP1にOracle10.2.0.3のクライアントのインストールを行った。
インストールの際のポイントとして、Office2007が入っている場合は、Office2007についてくるIME2007に注意が必要。
理由は分からないがIME2007が有効になっていると、インストーラが立ち上がらないため、OS標準のIMEに戻す必要がある。
IME2007がじゃまをしなければ、それ以外の問題は特に発生しなかった。
※ アンインストールの必要はなく、設定の変更だけしておくこと。
2008年08月31日
2007年10月14日
HP TX1000にWindowsXPをインストールしてみる(VistaとXPのデュアルブート環境に挑戦)
(ブログ統一のために、こちらへ移行)
先日、新しくHPのノートパソコン「Pavilion Notebook PC tx1000/CT」を購入しました。
デフォルトのOSとして「Windows Vista Home Premium」がインストールされているのだが今まで利用していたソフトが使えなくなったため、「Windows XP Professional」をインストールすることにしました。
HPでは、この機種のWindows XP用ドライバーをほとんど公開していなかったため、探したドライバーなどOSインストールにてはまった内容を残しておこうともう。
(試行錯誤したため、覚えている内容のみを残しておく。)
■ OSインストールの流れ
今回は、下記のような手順でインストールを行った。
1.リカバリディスクの作成
HDD上にリカバリ用のイメージファイルがおかれているようなので万が一に備えて、ディスクを作成
2.パーティションの分割
せっかくなのでVistaを残したまま開いているディスク領域にWindowsXPをインストールすることにしました。
このため、パーティションの分割を行う。
3.Windows XPのインストール
空き領域を作成したら、そこにOSをインストール
4.OS起動の確認
インストールしたWindows XPと残してあるWindows Vistaの起動を確認
→ 調査不足によりここで問題発生(詳細は後述)
5.OSのサービスパック、Windows XPのドライバーセットアップ
6.ライセンス認証
セキュリティパッチ、ドライバーがインストールできるかわからなかったためライセンス認証はセットアップが完了した段階で行った。
続きを読む
先日、新しくHPのノートパソコン「Pavilion Notebook PC tx1000/CT」を購入しました。
デフォルトのOSとして「Windows Vista Home Premium」がインストールされているのだが今まで利用していたソフトが使えなくなったため、「Windows XP Professional」をインストールすることにしました。
HPでは、この機種のWindows XP用ドライバーをほとんど公開していなかったため、探したドライバーなどOSインストールにてはまった内容を残しておこうともう。
(試行錯誤したため、覚えている内容のみを残しておく。)
■ OSインストールの流れ
今回は、下記のような手順でインストールを行った。
1.リカバリディスクの作成
HDD上にリカバリ用のイメージファイルがおかれているようなので万が一に備えて、ディスクを作成
2.パーティションの分割
せっかくなのでVistaを残したまま開いているディスク領域にWindowsXPをインストールすることにしました。
このため、パーティションの分割を行う。
3.Windows XPのインストール
空き領域を作成したら、そこにOSをインストール
4.OS起動の確認
インストールしたWindows XPと残してあるWindows Vistaの起動を確認
→ 調査不足によりここで問題発生(詳細は後述)
5.OSのサービスパック、Windows XPのドライバーセットアップ
6.ライセンス認証
セキュリティパッチ、ドライバーがインストールできるかわからなかったためライセンス認証はセットアップが完了した段階で行った。
続きを読む
2007年02月11日
Explorer コマンドラインオプション
(ブログ統一のために、こちらへ移行)
Explorerの開き方を指定
● 動作確認環境
Windows XP Pro SP2
explorer.exeについて、調べてみた。
コマンドラインでオプションを指定できるようである。
/n : デフォルト設定で開く。
(ディレクトリツリーなしの状態)
/e : ディレクトリツリーを表示した状態で開く。
/root,[ディレクトリのパス]
/select,[ディレクトリのパス]
仕事のPCなどは、作業フォルダが深くなっているので
ディレクトリツリーのTOPを変更するとか…
たとえば、下記のような使い方。
作業フォルダをルートディレクトリに指定したショートカットを
作成しておいて、そこからウィンドウを開く。
ショートカットの設定

開いたウィンドウ

Explorerの開き方を指定
● 動作確認環境
Windows XP Pro SP2
explorer.exeについて、調べてみた。
コマンドラインでオプションを指定できるようである。
/n : デフォルト設定で開く。
(ディレクトリツリーなしの状態)
/e : ディレクトリツリーを表示した状態で開く。
/root,[ディレクトリのパス]
/select,[ディレクトリのパス]
仕事のPCなどは、作業フォルダが深くなっているので
ディレクトリツリーのTOPを変更するとか…
たとえば、下記のような使い方。
作業フォルダをルートディレクトリに指定したショートカットを
作成しておいて、そこからウィンドウを開く。
ショートカットの設定
開いたウィンドウ
2006年06月18日
winsとnbtstat
(ブログ統一のために、こちらへ移行)
先日、会社のネットワークがリプレイスされました。
変更は、Active Directoryの導入、部署毎のサブネットを導入
(今までは、クライアントとサーバのネットワークのみでした。)
となりました。
導入してみたらログインが出来ない or ログインに時間がかかる
サーバが出てきました。
調査してみたら、どうやらログイン時のWindowsの名前解決に
かかっているようです。
winsサーバに問い合わせをしてみると、
やはり名前が登録されていない様子。
**********************************************
**********************************************
ついでにDNSがADサーバに向いていないようなので
winsへの登録とDNSの変更をしてみると、
うまく繋がるようになりました。
**********************************************
**********************************************
おまけ
nbtstatのコマンド例
・winsサーバへの再登録のコマンド
nbtstat -RR
・キャッシュの表示
nbtstat -c
・登録されているホスト名を検索
nbtstat -a [NetBIOS名]
・登録されているホストをIPで検索
nbtstat -A [IP Address]
先日、会社のネットワークがリプレイスされました。
変更は、Active Directoryの導入、部署毎のサブネットを導入
(今までは、クライアントとサーバのネットワークのみでした。)
となりました。
導入してみたらログインが出来ない or ログインに時間がかかる
サーバが出てきました。
調査してみたら、どうやらログイン時のWindowsの名前解決に
かかっているようです。
winsサーバに問い合わせをしてみると、
やはり名前が登録されていない様子。
**********************************************
C:\>nbtstat -a hogehoge
ローカル エリア接続:
Node IpAddress: [172.16.XX.XX] Scope Id: []
Host not found.
**********************************************
ついでにDNSがADサーバに向いていないようなので
winsへの登録とDNSの変更をしてみると、
うまく繋がるようになりました。
**********************************************
☆ サーバ側で実施 ☆
C:\>nbtstat -RR
The NetBIOS names registered by this computer have been refreshed.
☆ ローカル側で再検索 ☆
C:\gt;nbtstat -a hogehoge
ローカル エリア接続:
Node IpAddress: [172.16.XX.XX] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
hogehoge <00> UNIQUE Registered
newdomain <00> GROUP Registered
hogehoge <20> UNIQUE Registered
newdomain <1E> GROUP Registered
newdomain <1D> UNIQUE Registered
..__MSBROWSE__.<01> GROUP Registered
MAC Address = XX-XX-XX-XX-XX-XX
**********************************************
おまけ
nbtstatのコマンド例
・winsサーバへの再登録のコマンド
nbtstat -RR
・キャッシュの表示
nbtstat -c
・登録されているホスト名を検索
nbtstat -a [NetBIOS名]
・登録されているホストをIPで検索
nbtstat -A [IP Address]
2006年02月11日
VSSのバックアップ
(ブログ統一のために、こちらへ移行)
仕事で始めてVSSを利用しました。
ユーザとして利用していましたが、管理の方に聞いてみたら
バックアップを取っていないとのこと。
通常のPC上で運用されていたので、マシンが飛んだら
すべてのソースが…
と、言うことでバックアップについて調べてみました。
コマンドでアーカイブを取ることが出来るようです。
ちなみに、GUIの管理ツールが有るのですが、処理がめちゃくちゃに
遅かったです。
プロジェクトのアーカイブを取るのに2時間近く。
コマンドで実施すると、数秒で終了しているのですが。
コマンドでは、アーカイブできない内容を取っているのか?
このあたりの調査は今後の課題です。
ひとまず、バッチファイルで夜中にバックアップを取得することに
しました。
**********************************************
**********************************************
仕事で始めてVSSを利用しました。
ユーザとして利用していましたが、管理の方に聞いてみたら
バックアップを取っていないとのこと。
通常のPC上で運用されていたので、マシンが飛んだら
すべてのソースが…
と、言うことでバックアップについて調べてみました。
コマンドでアーカイブを取ることが出来るようです。
ちなみに、GUIの管理ツールが有るのですが、処理がめちゃくちゃに
遅かったです。
プロジェクトのアーカイブを取るのに2時間近く。
コマンドで実施すると、数秒で終了しているのですが。
コマンドでは、アーカイブできない内容を取っているのか?
このあたりの調査は今後の課題です。
ひとまず、バッチファイルで夜中にバックアップを取得することに
しました。
**********************************************
@ECHO OFF
SET ARC=C:\Program Files\VSS\win32\ssarc.exe
SET U=admin
SET P=admin
SET SRC=C:\data\
SET DFILE=C:\bk\vssarc.bak
SET LFILE=C:\bk\vss.log
ECHO -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- >> %LFILE%
ECHO %DATE% %TIME% >> %LFILE%
ECHO バックアップ処理を開始します。 >> %LFILE%
"%ARC%" -s%SRC% -i- -y%U%,%P% %DFILE% $/hoge >> %LFILE% 2>&1
IF ERRORLEVEL 1 (
ECHO バックアップに失敗しました。 >> %LFILE%
)
GOTO END
:END
ECHO バックアップ処理を終了します。 >> %LFILE%
ECHO %DATE% %TIME% >> %LFILE%
ECHO -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- >> %LFILE%
**********************************************
2005年12月28日
スクリプトでEventLog出力
(ブログ統一のために、こちらへ移行)
スクリプト VBScriptでEventLogの出力
● 動作確認環境
Windows XP Pro SP2
スクリプトからイベントログにメッセージを出力します。
書き込みは、アプリケーションログのみです。
また、イベントログに出力できる内容は、
・イベントの種類(種類 & ID)
・メッセージ
のみが指定可能です。
ソース、分類、ユーザなどは固定になります。
(動作結果を参照)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Const EVENT_ETC = 0
Const EVENT_ERROR = 1
Const EVENT_WARNING = 2
Const EVENT_INFOMATION = 4
Set objShell = Wscript.CreateObject("Wscript.Shell")
' LogEvnet("イベントの種類", "メッセージ", "出力先マシン")
Call objShell.LogEvent(EVENT_ERROR, "エラーログ", localhost)
Call objShell.LogEvent(EVENT_WARNING, "警告ログ", localhost)
Call objShell.LogEvent(EVENT_INFOMATION, "動作ログ", localhost)
Call objShell.LogEvent(EVENT_ETC, "種別無し", localhost)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
● 動作結果
スクリプト VBScriptでEventLogの出力
● 動作確認環境
Windows XP Pro SP2
スクリプトからイベントログにメッセージを出力します。
書き込みは、アプリケーションログのみです。
また、イベントログに出力できる内容は、
・イベントの種類(種類 & ID)
・メッセージ
のみが指定可能です。
ソース、分類、ユーザなどは固定になります。
(動作結果を参照)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Const EVENT_ETC = 0
Const EVENT_ERROR = 1
Const EVENT_WARNING = 2
Const EVENT_INFOMATION = 4
Set objShell = Wscript.CreateObject("Wscript.Shell")
' LogEvnet("イベントの種類", "メッセージ", "出力先マシン")
Call objShell.LogEvent(EVENT_ERROR, "エラーログ", localhost)
Call objShell.LogEvent(EVENT_WARNING, "警告ログ", localhost)
Call objShell.LogEvent(EVENT_INFOMATION, "動作ログ", localhost)
Call objShell.LogEvent(EVENT_ETC, "種別無し", localhost)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
● 動作結果
2005年12月22日
WSHスクリプトでOS情報を取得
(ブログ統一のために、こちらへ移行)
Windows OS情報の取得
●動作確認環境●
Windows XP SP2
Windowsの情報をWSHスクリプトを用いて取得出来るらしいです。
早速試してみました。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
動作結果

ここでは試していませんが、このほかにも、会社名や登録ユーザ名
なども取得できました。
Windows OS情報の取得
●動作確認環境●
Windows XP SP2
Windowsの情報をWSHスクリプトを用いて取得出来るらしいです。
早速試してみました。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
FOR EACH objOS IN colOS
strOSINFO = ""
strOSINFO = strOSINFO & "OS: " & objOS.Caption & vbCrLf
strOSINFO = strOSINFO & "文字コード: " & objOS.CodeSet & vbCrLf
strOSINFO = strOSINFO & "国コード: " & objOS.CountryCode & vbCrLf
strOSINFO = strOSINFO & "バージョン: " & objOS.Version & vbCrLf
strOSINFO = strOSINFO & "SPバージョン: " & objOS.ServicePackMajorVersion
strOSINFO = strOSINFO & "." & objOS.ServicePackMinorVersion & vbCrLf
WScript.Echo strOSINFO
NEXT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
動作結果
ここでは試していませんが、このほかにも、会社名や登録ユーザ名
なども取得できました。
2005年12月21日
Windows2003 batファイルでプロセス確認
(ブログ統一のために、こちらへ移行)
Windows2003 SQL Server起動プロセス確認(3)
● 動作確認環境
・Windows2003 Server Enterprise Edtion
(Windows2003 Server Standerd Editionでも動作すると思います。)
・SQL Server 2000 Enterprise Edition
(SQL Server 2000 Standerd EditonでもOK)
SQL Serverの状態によっては、プロセスの確認が出来ても
接続が出来ない場合が有るみたいです。
例えば、MSSQLサービスが「一時停止」状態の場合など。
そこで、プロセスの確認の後に、実際にSQL Serverに接続する処理を
追加することにしました。
接続は、SQL Serverのosql.exeを利用します。
あるユーザで接続→quitして抜けるだけの処理です。
接続エラーの場合は、ERRORLEVELが1となるようです。
C:\>osql.exe -S localhost -U user -P pass
SQL Server は一時停止しています。新たに接続することはできません。
C:\>echo %ERRORLEVEL%
1
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Windows2003 SQL Server起動プロセス確認(3)
● 動作確認環境
・Windows2003 Server Enterprise Edtion
(Windows2003 Server Standerd Editionでも動作すると思います。)
・SQL Server 2000 Enterprise Edition
(SQL Server 2000 Standerd EditonでもOK)
SQL Serverの状態によっては、プロセスの確認が出来ても
接続が出来ない場合が有るみたいです。
例えば、MSSQLサービスが「一時停止」状態の場合など。
そこで、プロセスの確認の後に、実際にSQL Serverに接続する処理を
追加することにしました。
接続は、SQL Serverのosql.exeを利用します。
あるユーザで接続→quitして抜けるだけの処理です。
接続エラーの場合は、ERRORLEVELが1となるようです。
C:\>osql.exe -S localhost -U user -P pass
SQL Server は一時停止しています。新たに接続することはできません。
C:\>echo %ERRORLEVEL%
1
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@ECHO OFF
SET MAXCHECK=5
REM ミリ秒で指定
SET SLEEPTIME=5000
SET OSQL="C:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql.exe"
ECHO WScript.sleep %SLEEPTIME% > sleep.vbs
FOR /L %%I in (1,1,%MAXCHECK%) DO (
REM ERRORLEVELで判定する。
REM FINDで対象文字列がある場合は、ERRORLEVELが0になる。
REM それ以外は、1
TASKLIST | FIND "sqlservr.exe" > NUL
IF NOT ERRORLEVEL 1 (
REM プロセスが起動していた場合
ECHO SQL Serverは起動しています。
REM ↓↓↓↓ 追加部分 ↓↓↓↓
REM 接続チェック
REM OSQLBINには、osqlのフルパスをセットしておく。
%OSQL% -S localhost -U user -P pass -Q "quit" > NUL 2>&1
IF NOT ERRORLEVEL 1 (
ECHO SQL Serverへの接続が確認できました。
GOTO PGOK
) ELSE (
ECHO SQL Serverに接続できません。
)
REM ↑↑↑↑ 追加部分 ↑↑↑↑
) ELSE (
ECHO SQL Serverが起動していません。
)
REM sleep
C:\WINDOWS\system32\cscript.exe sleep.vbs > NUL
)
GOTO PGNG
PGOK:
ECHO 起動OKの時の処理
GOTO END
PGNG:
ECHO 起動NGの時の処理
GOTO END
END:
ECHO 終了処理
EXIT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2005年12月17日
Windows2003 batファイルでプロセス確認
(ブログ統一のために、こちらへ移行)
Windows2003 SQL Server起動プロセス確認(2)
● 動作確認環境
・Windows2003 Server Enterprise Edtion
(Windows2003 Server Standerd Editionでも動作すると思います。)
・SQL Server 2000 Enterprise Edition
(SQL Server 2000 Standerd EditonでもOK)
プロセス確認部分のチェック回数を指定できるように変更
また、チェックする間隔も指定できるようにする。
Windowsのコマンドでの実現が解らなかったのでWSHのSleepを利用する。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FOR /Lオプションで開始値、ステップ値を指定したループになる。
また、IF、FORなどは、括弧 「"("から")"まで」を利用すると
複数の処理を記述することが可能
Windows2003 SQL Server起動プロセス確認(2)
● 動作確認環境
・Windows2003 Server Enterprise Edtion
(Windows2003 Server Standerd Editionでも動作すると思います。)
・SQL Server 2000 Enterprise Edition
(SQL Server 2000 Standerd EditonでもOK)
プロセス確認部分のチェック回数を指定できるように変更
また、チェックする間隔も指定できるようにする。
Windowsのコマンドでの実現が解らなかったのでWSHのSleepを利用する。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@ECHO OFF
SET MAXCHECK=5
REM ミリ秒で指定
SET SLEEPTIME=5000
ECHO WScript.sleep %SLEEPTIME% > sleep.vbs
FOR /L %%I in (1,1,%MAXCHECK%) DO (
REM ERRORLEVELで判定する。
REM FINDで対象文字列がある場合は、ERRORLEVELが0になる。
REM それ以外は、1
TASKLIST | FIND "sqlservr.exe" > NUL
IF NOT ERRORLEVEL 1 (
REM プロセスが起動していた場合
ECHO SQL Serverは起動しています。
GOTO PGOK
) ELSE (
ECHO SQL Serverが起動していません。
)
REM sleep
C:\WINDOWS\system32\cscript.exe sleep.vbs > NUL
)
GOTO PGNG
PGOK:
ECHO 起動OKの時の処理
GOTO END
PGNG:
ECHO 起動NGの時の処理
GOTO END
END:
ECHO 終了処理
EXIT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FOR /Lオプションで開始値、ステップ値を指定したループになる。
また、IF、FORなどは、括弧 「"("から")"まで」を利用すると
複数の処理を記述することが可能
2005年12月16日
Windows2003 batファイルでプロセス確認
(ブログ統一のために、こちらへ移行)
Windows2003 SQL Server起動プロセス確認(1)
● 動作確認環境
・Windows2003 Server Enterprise Edtion
(Windows2003 Server Standerd Editionでも動作すると思います。)
・SQL Server 2000 Enterprise Edition
(SQL Server 2000 Standerd EditonでもOK)
プログラムを動かす際に、SQL Serverが起動しているか確認する必要があったため
プログラムを実行する前に、バッチ内でプロセスの確認を実施。
Windows2003からは、Unixのpsのように、起動中のプロセス一覧を
取得するためのコマンドがデフォルトであるみたいです。
(Windows XPでもあるみたいです。)
tasklistコマンド
引数無しで、ローカルのプロセスの一覧が取得できる。
/S(ホスト名), /U(ユーザ名), /P(パスワード)などを使って
リモートのプロセス一覧も取得可。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Windows2003 SQL Server起動プロセス確認(1)
● 動作確認環境
・Windows2003 Server Enterprise Edtion
(Windows2003 Server Standerd Editionでも動作すると思います。)
・SQL Server 2000 Enterprise Edition
(SQL Server 2000 Standerd EditonでもOK)
プログラムを動かす際に、SQL Serverが起動しているか確認する必要があったため
プログラムを実行する前に、バッチ内でプロセスの確認を実施。
Windows2003からは、Unixのpsのように、起動中のプロセス一覧を
取得するためのコマンドがデフォルトであるみたいです。
(Windows XPでもあるみたいです。)
tasklistコマンド
引数無しで、ローカルのプロセスの一覧が取得できる。
/S(ホスト名), /U(ユーザ名), /P(パスワード)などを使って
リモートのプロセス一覧も取得可。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
C:\>tasklist
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ====== ================ ======== ============
System Idle Process 0 Console 0 16 K
System 4 Console 0 236 K
smss.exe 1904 Console 0 388 K
csrss.exe 1968 Console 0 7,444 K
winlogon.exe 1992 Console 0 2,256 K
services.exe 2036 Console 0 4,352 K
lsass.exe 124 Console 0 1,380 K
svchost.exe 332 Console 0 4,928 K
svchost.exe 404 Console 0 4,288 K
中略
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
tasklist, find, ifコマンドを利用して、プロセスが起動している場合と
それ以外で処理を分岐します。
SQL Serverのプロセス"sqlservr.exe"が存在するかどうかで判定します。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@ECHO OFF
REM ERRORLEVELで判定する。
REM FINDで対象文字列がある場合は、ERRORLEVELが0になる。
REM それ以外は、1
TASKLIST | FIND "sqlservr.exe" > NUL
IF NOT ERRORLEVEL 1 (
ECHO SQL Serverの起動しています。
GOTO PGOK
) ELSE (
ECHO SQL Serverが起動していません。
GOTO PGNG
)
PGOK:
ECHO 起動OKの時の処理
GOTO END
PGNG:
ECHO 起動NGの時の処理
GOTO END
END:
ECHO 終了処理
EXIT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IFでERRORLEVEL判定するときは、指定した数値以上の
場合が条件「真」判定となる。
このため、正常判定するために、
「ERRORLEVELが1以上以外の場合は、SQL Serverのプロセスが存在する」
と言った、解りづらい判定にしている。
2005年12月14日
Internet Explorerの問題
(ブログ統一のために、こちらへ移行)
Webシステムを開発した際に、IEの問題ではまった点をまとめておきます。
・[IE] Content-Disposition: attachment でファイルをダウンロードするとフレームが更新されなくなる
http://support.microsoft.com/default.aspx?scid=kb;ja;418126
フレームのページで、ファイルのダウンロードをさせた場合に
target先のページを更新できない。
(ダウンロード後は画面遷移しようとしても、画面が切り替わらない。)
MSの解決策としては、見えないインラインフレームなどを利用して
ダウンロード後にレスポンスを返すフレーム指定(target)を変える
となっています。
見えないインラインフレームを利用するのは、
見た目の画面イメージを変更しないため。
→ 別ウィンドウを開いて、そこからダウンロードさせるなどの対応が必要
・input type=image で フォームが2回送信される
http://support.microsoft.com/default.aspx?scid=kb;ja;822276
「INPUT type=image」とonclickでsubmitを送ると2回クリックしたときと
同じ動きをする。
input type=imageを利用しない。
<A>タグとonclickなどを利用する。
● 下記は、時間がなかったので運用で回避
・Internet Explorer で [ファイルのダウンロード] ダイアログ ボックスが 2 つ表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;238588
ファイルのダウンロードダイアログが2回表示される。
・Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題
http://support.microsoft.com/default.aspx?scid=kb;ja;436605
ファイルダウンロードダイアログで表示を選択したときに
ファイルを表示できない場合がある。
Webシステムを開発した際に、IEの問題ではまった点をまとめておきます。
・[IE] Content-Disposition: attachment でファイルをダウンロードするとフレームが更新されなくなる
http://support.microsoft.com/default.aspx?scid=kb;ja;418126
フレームのページで、ファイルのダウンロードをさせた場合に
target先のページを更新できない。
(ダウンロード後は画面遷移しようとしても、画面が切り替わらない。)
MSの解決策としては、見えないインラインフレームなどを利用して
ダウンロード後にレスポンスを返すフレーム指定(target)を変える
となっています。
見えないインラインフレームを利用するのは、
見た目の画面イメージを変更しないため。
→ 別ウィンドウを開いて、そこからダウンロードさせるなどの対応が必要
・input type=image で フォームが2回送信される
http://support.microsoft.com/default.aspx?scid=kb;ja;822276
「INPUT type=image」とonclickでsubmitを送ると2回クリックしたときと
同じ動きをする。
input type=imageを利用しない。
<A>タグとonclickなどを利用する。
● 下記は、時間がなかったので運用で回避
・Internet Explorer で [ファイルのダウンロード] ダイアログ ボックスが 2 つ表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;238588
ファイルのダウンロードダイアログが2回表示される。
・Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題
http://support.microsoft.com/default.aspx?scid=kb;ja;436605
ファイルダウンロードダイアログで表示を選択したときに
ファイルを表示できない場合がある。
2005年11月19日
Windows batファイル log管理
(ブログ統一のために、こちらへ移行)
Logローテーション用のバッチファイル
☆動作確認環境
Windows2000 Server, Windows2003 Standerd Server
OSのタスク管理を利用
☆ 設定ファイルを外部ファイルにしたため、下記のように読み込むことに。
・コメント行は「'」に。
・ログの世代数を設定
=== test.ini ===
' Logファイル名
LOGFILE=C:\temp\test.log
' ログ世代数
' 0の場合は、ログの初期化のみ
LOGGEN=3
================
☆設定ファイル読み込み部分
・設定ファイルの"="の左側を変数、右側を値として取得
☆ログのコピー
・古いログは、後ろに連番をつけていく。
・古いログに上書きコピーしていく。
・最後にログファイルは、ブランクファイルに。
うまく処理する方法が見つからなかったので
2つのバッチファイルで構成。
=== lrotate.bat ===
REM * 設定ファイル読み込み *
FOR /F "eol=' tokens=1,2 delims==" %%L IN (config.ini) DO SET %%L=%%M
REM * 世代が0 *
IF %LOGGEN% EQU 0 GOTO LOGINIT
REM * コピー *
:COPYN
FOR /L %%I IN (%LOGGEN%,-1,2) DO CALL .\lcopy.bat %%I
COPY "%LOGFILE%" "%LOGFILE%.1"
GOTO LOGINIT
REM * ログの初期化 *
:LOGINIT
TYPE NUL > "%LOGFILE%"
REM * 終了処理 *
GOTO END
:END
================
=== lcopy.bat ====
SET NEWSUFFIX=%1
SET /A OLDSUFFIX=%1-1
REM * ファイルの存在チェック *
DIR "%LOGFILE%.%OLDSUFFIX%" > NUL 2>&1
IF %ERRORLEVEL% GTR 0 GOTO END
REM * コピー *
COPY /Y "%LOGFILE%.%OLDSUFFIX%" "%LOGFILE%.%NEWSUFFIX%"
:END
================
Logローテーション用のバッチファイル
☆動作確認環境
Windows2000 Server, Windows2003 Standerd Server
OSのタスク管理を利用
☆ 設定ファイルを外部ファイルにしたため、下記のように読み込むことに。
・コメント行は「'」に。
・ログの世代数を設定
=== test.ini ===
' Logファイル名
LOGFILE=C:\temp\test.log
' ログ世代数
' 0の場合は、ログの初期化のみ
LOGGEN=3
================
☆設定ファイル読み込み部分
・設定ファイルの"="の左側を変数、右側を値として取得
☆ログのコピー
・古いログは、後ろに連番をつけていく。
・古いログに上書きコピーしていく。
・最後にログファイルは、ブランクファイルに。
うまく処理する方法が見つからなかったので
2つのバッチファイルで構成。
=== lrotate.bat ===
REM * 設定ファイル読み込み *
FOR /F "eol=' tokens=1,2 delims==" %%L IN (config.ini) DO SET %%L=%%M
REM * 世代が0 *
IF %LOGGEN% EQU 0 GOTO LOGINIT
REM * コピー *
:COPYN
FOR /L %%I IN (%LOGGEN%,-1,2) DO CALL .\lcopy.bat %%I
COPY "%LOGFILE%" "%LOGFILE%.1"
GOTO LOGINIT
REM * ログの初期化 *
:LOGINIT
TYPE NUL > "%LOGFILE%"
REM * 終了処理 *
GOTO END
:END
================
=== lcopy.bat ====
SET NEWSUFFIX=%1
SET /A OLDSUFFIX=%1-1
REM * ファイルの存在チェック *
DIR "%LOGFILE%.%OLDSUFFIX%" > NUL 2>&1
IF %ERRORLEVEL% GTR 0 GOTO END
REM * コピー *
COPY /Y "%LOGFILE%.%OLDSUFFIX%" "%LOGFILE%.%NEWSUFFIX%"
:END
================