-1

このメモ帳ファイルには長い行のリストが含まれています...次のように:

MCDXY22 = 
    (DESCRIPTION = 
       (ADDRESS = (PROTOCOL = TCP)(HOST = xyzbdk012)(PORT = 11234)
       (CONNECT_DATA = 
          (SERVER = DEDICATED)
          (SERVICE_NAME = MCDXY22)))

メモ帳はそれらでいっぱいです。各セットは、単一の空行で区切られています。私がしなければならないことは、これらすべての行のセットを別のメモ帳ファイルにコピーし、いくつかの変更を加えることです...-->

define DYLINK = MCDXY22
define DYLINK_PYS = ???
define DYLINK_XCSR = (DESCRIPTION = 
           (ADDRESS = (PROTOCOL = TCP)(HOST = xyzbdk012)(PORT = 11234)
           (CONNECT_DATA = 
              (SERVER = DEDICATED)
              (SERVICE_NAME = MCDXY22)))

これは理にかなっていますか?

これが最終製品の外観です。何が起こるべきか、疑似コードなどは理解していますが、理解できません。これを手動で行うと、何時間もかかります... :)

ありがとう!どんな助けでも大歓迎です...

4

2 に答える 2

1

VBScript では、次のようなものが機能するはずです。

filename = WScript.Arguments(0)

Set fso = CreateObject("Scripting.FileSystemObject")

Set re = New RegExp
re.Pattern = "^\S"

Set f = fso.OpenTextFile(filename)

Do Until f.AtEndOfStream
  line = f.ReadLine
  If re.Test(line) Then
    WScript.StdOut.WriteLine "define DYLINK = " & line
    WScript.StdOut.WriteLine "define DYLINK_PYS = ???"
    WScript.StdOut.WriteLine "define DYLINK_XCSR = " & LTrim(f.ReadLine)
  Else
    WScript.StdOut.WriteLine line
  End If
Loop

f.Close

次のようにスクリプトを実行します。

cscript //NoLogo script.vbs C:\input.txt >C:\output.txt

C:\input.txtファイルの変更されたコンテンツを読み取りStdOut、出力ファイルにリダイレクトできる場所に出力します。

于 2013-04-24T14:50:33.420 に答える