cscript.exe ini.vbs "PATH" セクション名 エントリ名 で、値を echo します。バッチファイルを使うならば、同じディレクトリに ini.bat を作成して、@echo off cscript.exe //NOLOGO "%~dp0ini.vbs" "%1" %2 %3とすると、パスの通ったディレクトリに両方置いて、"ini" というコマンドの出来上がりです エラーメッセージは、イベントビュアーの『アプリケーション』に記録されます
' ログ出力用
Set WshShell = WScript.CreateObject("WScript.Shell")
' 使用方法の表示
if Wscript.Arguments.Count = 0 then
Wscript.Echo "Usage : cscript.exe ini.vbs ""PATH"" section entry"
Wscript.Echo "例 : cscript.exe ini.vbs ""c:\php\php.ini"" php error_reporting"
Wscript.Quit
end if
' ファイルシステムアクセス用
Set Fs = CreateObject( "Scripting.FileSystemObject" )
' 引数の数をチェック( パス セクション エントリ )
if Wscript.Arguments.Count <> 3 then
' 引数の数が誤っている場合は終了
WshShell.LogEvent 1, "引数の数が誤っています"
Wscript.Quit
end if
' ファイルを開く
on error resume next
Set InObj = Fs.OpenTextFile( Wscript.Arguments(0), 1 )
if Err.Number <> 0 then
' ファイルアクセスエラーの場合は終了
WshShell.LogEvent 1, Err.Description & ":" & Wscript.Arguments(0)
Wscript.Quit
end if
on error goto 0
' 検索処理用のフラグ
search = false
' 読込みループ
Do While not InObj.AtEndOfStream
' 行単位の読込み
Buffer = InObj.ReadLine
' 空の行は無視する
if Trim(Buffer) <> "" then
' 対象セクションを発見した場合
if Ucase(Trim(Buffer)) = "[" & Ucase(Wscript.Arguments(1)) & "]" then
search = true
else
' 一度発見した場合は同じセクションは無いのでこちらへ
' 発見してない場合もこちらに来ますが、search が true なら発見済み
if search then
' 次のセクションを発見した場合は、該当するエントリが無い事を示す
if Left(Trim(Buffer),1) = "[" then
' 処理を終了する為、ループを終了する
WshShell.LogEvent 1, "指定されたエントリを発見できませんでした:" & Wscript.Arguments(2)
Exit Do
end if
' 先頭行がセミコロンの場合は、コメントとみなします
RealLine = Split(Buffer,";")
' セミコロンがあった場合、RealLine(0) は空です
Entry = Split(RealLine(0),"=")
' 通常行の場合、= が見つかればエントリです
if ( Ubound(Entry) = 1 ) then
' エントリが検索対象かどうかをチェック
if Ucase(Trim(Entry(0))) = Ucase(Wscript.Arguments(2)) then
' 一致した場合のみ値を表示
Wscript.Echo(Trim(Entry(1)))
' ファイルを閉じて終了する
InObj.Close
Wscript.Quit
End if
end if
end if
end if
end if
Loop
' ここは、検索対象が発見できなかった場合の終了です
InObj.Close
if search then
WshShell.LogEvent 1, "指定されたエントリを発見できませんでした:" & Wscript.Arguments(2)
else
WshShell.LogEvent 1, "指定されたセクションを発見できませんでした:" & Wscript.Arguments(1)
end if
Wscript.Echo
VBScriptドキュメント
タグ:VBScript
|
|
【VBS + オブジェクトの最新記事】
- 簡易詳細設計書(A4)作成 : VBScript + Excel.Application
- VBScript : 複数テキストファイルの charset(キャラクタセット) 一括変換 / ADODB.Stream
- VBScript : 既存の Excel を PDF に変換する ( ExportAsFixedFormat )
- テーブル設計書作成 : VBScript + Excel.Application + SQLServer
- VBScript : Excel.Application でファイルを複数選択する
- ブラウザ上にあるデータを PHP で受け取って、VBScript のコードを作成して事前に作成済のテンプレート Excel にデータをロードして印刷で使用する
- VBScript : Access のテーブルを TransferText メソッドを使用して UTF-8 で CSV または HTML にして出力する
- VBScript : ネイティブ(CAPICOM.Utilities) Base64 エンコード
- VBScript で、スクリプト(Windows Script Component)をオブジェクトとして直接使う方法
- VBScript : バイナリファイルの更新( 1バイトの ByteArray なら、ADO.Stream で作成できます )
- VBS : My Documents フォルダのような、特殊フォルダのサイズを取得する
- VBScript : ネイティブ SHA1、MD5、SHA256 変換
【VBScript関連のカテゴリ】






