dポイントプレゼントキャンペーン実施中!

①テキストAの内容をバッチまたはVBSで取り込んみたい。
②テキストAの内容をある値と比較してif文などで後続の処理を動かしたい。
 ある値がxxxxで後続処理ーーー実施
 ある値がddddの場合はテキストAないに存在しないとーーー終了
<例>
テキストA
xxxxxx
bbbbb
cccccc

何かいい方があれば教えていただきたいです
よろしくお願いします

質問者からの補足コメント

  • 不足しておりすみません
    質問ありがとうございます

    質問1
    xxxxとyyyyのパターンはあります。ユニークなIDを各個人で持ってます。
    質問2
    ある値とテキストAの内容と比較してあれば後続処理になります。
    質問3
    完全一致です
    以上、よろしくお願いします

      補足日時:2016/10/13 08:53

A 回答 (2件)

補足要求です。


質問1:ある値は、xxxxの場合とddddの場合の2通りのケースがあるのですか?

質問2:ある値が、xxxxの場合は、そのxxxxがテキストA内にあれば、後続処理実施ですか?
ある値がxxxxで後続処理ーーー実施 ・・・これは、ある値がxxxxならテキストAの内容に関係なく後続処理を実施するように読み取れる。

質問3:ある値がddddの場合、そのddddがテキスト内に存在するのは、部分文字列でも存在すると判定して良いですか。
テキストAの内容
dddd・・・存在すると判定(これは当然)
ABCddddXYZ・・・これは、存在すると判定してよいですか?

xxxxがテキスト内に存在するか否かの判定方法は、ddddの判定方法と同じ方法をとりますが良いですか?
    • good
    • 0

以下のようにしてください。

(このスクリプトをsample.vbsとして保存します)
---------------------------------------------------------------
Option Explicit
Dim objFileSystem
Dim objStream
Dim objRegExp
Dim strLine
Dim lineNo
dim arg1 'テキストファイル名
dim arg2 'ID
dim flag
if WScript.Arguments.Count <> 2 then
WScript.echo(WScript.ScriptName + " P1:テキストファイル名(完全パス) P2:ID")
WScript.Quit(-1)
end if

arg1 = WScript.Arguments(0)
arg2 = WScript.Arguments(1)

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objStream = objFileSystem.OpenTextFile(arg1, 1)

lineNo = 0
flag = false
'ファイルを読み込む
Do Until objStream.AtEndOfStream
strLine = objStream.ReadLine
'1行が指定IDに一致ならフラグをTRUEにセットし、終了
if arg2 = strLine then
flag = true
exit do
end if
lineNo = lineNo + 1
Loop
'ファイルクローズ、資源解放
objStream.Close
Set objStream = Nothing
Set objFileSystem = Nothing

'IDが存在しなければ、処理終了
if flag = false then
msgbox(arg2 + "は存在しませんでした")
WScript.Quit(-1)
end if

'ここから、以降の処理を続行する
msgbox("ここから以降の処理を続行します")
-----------------------------------------------------------
IDとファイル名は、コマンドライン引数で与えることとします。
(もし、ほかに方法があれば、あなたのほうで、そのように変えてください)
コマンドプロンプトで
sample.vbs テキストファイル名 ID
と入力します。
テキストファイルからそのIDを検索し、
なければ、その旨を表示し、終了します。
あれば、続行する旨を表示します。
例: sample.vbs c:\sample.txt xxxx
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!