2014年5月19日月曜日
01_GEN_CTL.vbs
INFILE = "01_GEN_CTL.INI"
OUTFILE = "01_GEN_CTL"
'Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Dim objFile2 ' ファイル書き込み用
Dim INFILE_Batch_Name ' バッチ名(フォルダ名)
Dim Batch_File_Name ' バッチファイル名
Dim iNo
dim YYYYMMDD
dim Time_edit
dim HHMMSS
dim BT_OPTION
'Check parameter
BT_OPTION = "J"
If iArgCount >=1 Then
If (CStr(wscript.Arguments(0))="G") or (CStr(wscript.Arguments(0))= "L") Then
WriteOutput iArgCount
BT_OPTION = wscript.Arguments(0)
End If
End If
'WScript.Echo SYORI_JIKAN
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
Set objFile = objFSO.OpenTextFile(INFILE)
If Err.Number = 0 Then
Set objFSO2 = WScript.CreateObject("Scripting.FileSystemObject")
OUTFILE = OUTFILE & "_" & SYORI_JIKAN() & ".txt"
Set objFile2 = objFSO2.OpenTextFile(OUTFILE, 2, True)
HaedoutOut(objFile2)
iNo=0
Do While objFile.AtEndOfStream <> True
INFILE_Batch_Name= objFile.ReadLine
iNo = iNo + 1
Batch_File_Name = INFILE_Batch_Name & ".bat " & BT_OPTION
ContentsOut objFile2,iNo,Batch_File_Name
Loop
if iNo = 0 Then
WriteErrorMessageAndExit " Data None ERROR: "
objFile.Close
objFile2.Close
Else
TrailoutOut(objFile2)
objFile.Close
objFile2.Close
End If
Else
WriteErrorMessageAndExit " FILE OPEN ERROR: "
End If
Else
WriteErrorMessageAndExit " ERROR: "
End If
Set objFile = Nothing
Set objFile2 = Nothing
Set objFSO = Nothing
Set objFSO2 = Nothin
WScript.Quit (Result)
''''''''''
' End Main
''''''''''
'*************************************************************
'* Generate Call Batch Statement
'*************************************************************
Sub ContentsOut(objFile2,iNo,Batch_File_Name)
objFile2.WriteLine("ECHO **--------------------------------------------*")
objFile2.WriteLine("ECHO ** " & "(" & iNo & ") Call " & Batch_File_Name)
objFile2.WriteLine("ECHO **--------------------------------------------*")
objFile2.WriteLine("DATE /T ")
objFile2.WriteLine("TIME /T ")
objFile2.WriteLine("CALL " & Batch_File_Name)
objFile2.WriteLine("IF NOT " & "%ERRORLEVEL%" & " == 0 GOTO ERR" & iNo)
objFile2.WriteLine(" ECHO " & """ **END** """ & " " & Batch_File_Name)
objFile2.WriteLine(" GOTO OK" & iNo)
objFile2.WriteLine(":ERR" & iNo)
objFile2.WriteLine(" ECHO " & """ **ENDOTHER** """ & " %ERRORLEVEL% " & Batch_File_Name)
objFile2.WriteLine(":OK" & iNo)
objFile2.WriteLine("DATE /T ")
objFile2.WriteLine("TIME /T ")
objFile2.WriteLine("ECHO **")
End Sub
'*************************************************************
'* Current time
'*************************************************************
Function SYORI_JIKAN1()
dim YYYYMMDD
dim Time_edit
dim HHMMSS
dim R_SYORI_JIKAN
YYYYMMDD="%date:~0,4%%date:~5,2%%date:~8,2%"
Time_edit="%time: =0%"
HHMMSS="%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%"
R_SYORI_JIKAN = YYYYMMDD & "_" & HHMMSS
SYORI_JIKAN1 = R_SYORI_JIKAN
End Function
Function SYORI_JIKAN()
Dim dtmNowDate '時刻
Dim strDestFileName
dtmNowDate = Now() '現在時刻の取得
strDestFileName = Year(dtmNowDate)& _
Right("0" & Month(dtmNowDate), 2) & _
Right("0" & Day(dtmNowDate), 2) & _
Right("0" & Hour(dtmNowDate), 2) & _
Right("0" & Minute(dtmNowDate), 2) & _
Right("0" & Second(dtmNowDate), 2)
SYORI_JIKAN = strDestFileName
End Function
'*************************************************************
'* Generate Batch Head Statement
'*************************************************************
Sub HaedoutOut(objFile2)
objFile2.WriteLine("ECHO **********************************************")
objFile2.WriteLine("ECHO ** HEADER RECORD *****************************")
objFile2.WriteLine("ECHO **********************************************")
dim YYYYMMDD
dim Time_edit
dim HHMMSS
objFile2.WriteLine(":開始")
objFile2.WriteLine("@echo off")
objFile2.WriteLine("set COPY_TOPIC=移行")
objFile2.WriteLine("set COPY_NAME=####")
objFile2.WriteLine("set COPY_LOG_DIR=d:\admtools\log")
YYYYMMDD="%date:~0,4%%date:~5,2%%date:~8,2%"
Time_edit="%time: =0%"
HHMMSS="%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%"
'objFile2.WriteLine(YYYYMMDD)
'objFile2.WriteLine(Time_edit)
'objFile2.WriteLine(HHMMSS)
End Sub
'*************************************************************
'* Generate Batch Trail Statement
'*************************************************************
Sub TrailoutOut(objFile2)
objFile2.WriteLine("ECHO **********************************************")
objFile2.WriteLine("ECHO ** TRAILER RECORD ****************************")
objFile2.WriteLine("ECHO **********************************************")
objFile2.WriteLine("pause")
End Sub
Sub WriteErrorMessageAndExit(strMsg)
Dim strErrNumber , strDescription , strSource
strErrNumber = CStr(Err.Number)
strDescription = CStr(Err.Description)
strSource = CStr(Err.Source)
WriteOutput ""
WriteOutput strMsg
WriteOutput " Error Number : " & strErrNumber & "(0x" & Hex(strErrNumber) & ")"
WriteOutput " Error Description : " & strDescription
WriteOutput " Error Source : " & strSource
wscript.Quit Err.Number
End Sub
Sub WriteOutput(strOutput)
On Error Resume Next
wscript.Echo strOutPut
End Sub
Sub HaltExecution
If Err.Number <> 0 Then wscript.Quit Err.Number
WriteOutPut "xxxx Successfully...."
wscript.Quit
End Sub