2014年5月19日月曜日

00_CopyGEN.vbs

MYFILE = "D:\admtools\test\00_CopySKEL.bat"

'Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
Set objFile = objFSO.OpenTextFile("00_CopyGEN.INI")
'Set objFile = objFSO.OpenTextFile(MYFILE)
If Err.Number = 0 Then
Do While objFile.AtEndOfStream <> True
'WScript.Echo objFile.ReadLine

CHWORD = objFile.ReadLine
'CHWORD = "AAAA"
OFILE = CHWORD
Call CreateBatch(MYFILE,CHWORD,OFILE)

Loop
objFile.Close
Else
WScript.Echo "ファイルオープンエラー: " & Err.Description
End If
Else
WScript.Echo "エラー: " & Err.Description
End If
Set objFile = Nothing
Set objFSO = Nothing





Sub CreateBatch(MYFILE, CHWORD, OFILE)

'テキストファイルのフルパス
Dim myA(9) : Dim myB(9)
myA(0) = "####" : myB(0) = CHWORD
myA(2) = "" : myB(2) = ""
myA(3) = "" : myB(3) = ""
myA(4) = "" : myB(4) = ""
myA(5) = "" : myB(5) = ""
myA(6) = "" : myB(6) = ""
myA(7) = "" : myB(7) = ""
myA(8) = "" : myB(8) = ""
myA(9) = "" : myB(9) = ""
'「A.変更前」と「B.変更後」を指定する
'消去なら「""」 
'置換なら「"置換するものを書く"」
'---------------------------------
With CreateObject("Scripting.FileSystemObject")
With .GetFile(MYFILE).OpenAsTextStream
myALLData = .ReadAll
.Close
End With
'---------------------------------
For j = 0 To UBound(myA)
If myA(j) <> "" Then _
myALLData = Replace(myALLData, myA(j), myB(j))
Next
'---------------------------------
myFLD = .GetFile(MYFILE).ParentFolder & "\"

myExt = "." & .GetExtensionName(MYFILE)
myName = myFLD & .GetBaseName(MYFILE)

myName = OFILE

Do
i = i + 1
MYFILE2 = myName & "(" & i & ")" & myExt
If Not .FileExists(MYFILE2) Then Exit Do

Loop
'---------------------------------
With .OpenTextFile(MYFILE2, 2, True)
.Write myALLData
.Close
End With
End With

End Sub

Msgbox "END"