こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBスクリプトで指定したコマンドで日付を取得するには?

お世話になります。
VBスクリプトがうまく設定できなくて困っています。
下記は日付取得までです。

rem #*****************************************
Option Explicit
dim w_date

rem #*****************************************
rem # STEP01 パラメータチェック
rem #*****************************************
IF WScript.Arguments.Count = 0 then
WScript.Echo "Parameter_No"
WScript.Quit 99
End IF
IF IsNumeric(WScript.Arguments.Item(0)) = False then
WScript.Echo "Numeric_Check_Error"
WScript.Quit 99
End IF

rem #*****************************************
rem # STEP02 日付計算
rem #*****************************************
w_date = replace(DateAdd("d",WScript.Arguments.Item(0), date),"/","")
WScript.Echo w_date

Script.Quit 0


【前提】
cip△dtコマンドをDOSで打つと例のように出力されます。

【例】
YYYY/MM/DD△00:00:00 cip~~~~~~~
YYYY/MM/DD△00:00:00 cip~~~~~~~

【実現したいこと】
VBスクリプトで、その1行目の日付を取得し、DOSの変数として保持したいです。

【前提】
cip△-dYYYYMMDDをDOSで打つとYYYYMMDDが入力した通りにでます。

【例】
YYYY/MM/DD△00:00:00 cip~~~~~~~

【実現したいこと】
VBスクリプトで、前日の日付を取得し、DOSの変数として保持したいです。

どなたか助けてください。
宜しくお願いします。

投稿日時 - 2006-04-25 18:53:40

QNo.2113803

すぐに回答ほしいです

質問者が選んだベストアンサー

cip コマンドについて知らないのですが、
コマンド > ファイル名

で標準出力の内容をファイルに保存することができます。
VBScript からは、このファイルから読込すれば、
コマンドの実行結果をVBScript に取り込むことができます。
また、
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("コマンド")
のようにすれば、
oExec.StdOut
から標準出力を取り込めます。

ところで、DOSの変数ってなんどすか
環境変数のこと?
バッチ変数のこと?
VBスクリプトで実行しているならVBスクリプトの変数で保持すれば良いように思います。

投稿日時 - 2006-04-26 06:09:38

補足

cipというのはA-AUTOというJOB管のミドルウェアの特別なDOSで実行されるコマンドです。
もうひとつバッチファイルがあって、そちらで取得した日付をバッチファイルで判定してリターンコードとログ出力で、正常・異常を検知する仕組みを作ろうとしています。つまり環境変数です。

投稿日時 - 2006-04-26 06:37:51

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

#2補>
基準の日から前後する日を求めるには
DateAdd 関数が使えます。

結局どのようにしたいのかよくわかりません。

投稿日時 - 2006-04-26 18:29:08

お礼

仕様が変わってしまいました。わかりづらい仕様すみませんでした。結局、日付を取得し、ログを採取し、障害検知をする仕組みではなくなってしまったんです。
ありがとうございました。

投稿日時 - 2006-04-26 23:47:32

ANo.2

>つまり環境変数です。
連接の仕方がもう一つわからないんですけど、
VBScript から環境変数の値は取得できますし、値の設定もできますけど、
VBScript 内で設定した環境変数は、別プロセス(スクリプトの実行が終了して、別のバッチを立ち上げても)からは参照できません。
つまり、別のバッチから参照できるような環境変数を設定できません。

投稿日時 - 2006-04-26 11:40:52

補足

本当にしたいことはDOSの中で、
(1)運用日付
(2)当日日付
(3)翌日日付
を求めることができることが条件です。
当日日付を求めることはできますが、
(1)は日付を分割して当日日付を-2すればいいのかもしれません。(3)は+1すえばいいのかもしれません。
VBスクリプトは要らないのかもしれません。
今、過去ログを参照しています。

投稿日時 - 2006-04-26 14:23:37

あなたにオススメの質問