May you convert vbscript to shell script?

Dear!
I've a script (vbscript) running on windows machine for along time ago. 2 weeks ago, we changed server from Windows to RHEL5, and this script did not run, and I'm not programmer. So that, I post this script here and wish you convert for me.

vbscript code:

'This script will:
' - ZIP some source file or dir to %BAK_DEPOT%\BAK_YYYYMMDD.zip

' Loader parameters

Const CCBS_LOG_DIR = "/cloudoracle/app/loadlog/logs/"

Const LOADER_USER=" smart_new_admin/smo20100726@neo60"

Const LOADED_LOGSM_FOLDER = "/cloudoracle/app/loadlog/logs/loaded/"
Const SKIPED_LOGSM_FOLDER = "/cloudoracle/app/loadlog/logs/skiped/"

Const LOADER_CMD_FILE = "./_load_data.sh"
Const ANALYZE_CMD_FILE = "./_analyze_data.sh"
Const ANALYZE_SQL_FILE = "./_analyze_data.sql"

Const PER_CONTROL_FILE = "./_load_perdata.ctl"
Const SEL_CONTROL_FILE = "./_load_seldata.ctl"
Const UPD_CONTROL_FILE = "./_load_upddata.ctl"
Const ERR_CONTROL_FILE = "./_load_errdata.ctl"
Const INV_CONTROL_FILE = "./_load_invdata.ctl"


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
' MAIN-ENTRY
'
'prepareTask
mainTask
'postTask

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
'
'
'--------------------------------------------
' FUNCTIONS
'--------------------------------------------

Function mainTask()
	
Dim oFSO, oLogFolder, oFile
On Error Resume Next

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set oLogFolder = oFSO.GetFolder(CCBS_LOG_DIR)

Dim fYYYYMMDD_
Dim perf_filelist_, sel_filelist_, upd_filelist_
perf_filelist_=""
sel_filelist_=""
upd_filelist_=""

'MsgBox "hello"

Dim maxLoadDate_
maxLoadDate_ = getYYYYMMDD(-1)

For Each oFile in oLogFolder.Files
  
  fYYYYMMDD_ = Left(oFile.Name, 8)

  if (fYYYYMMDD_ <= maxLoadDate_) then
	if (instr(oFile.Name, "per") > 0) then	
		loadData PER_CONTROL_FILE, CCBS_LOG_DIR & oFile.Name
		oFile.Move LOADED_LOGSM_FOLDER		
	elseif (instr(oFile.Name, "sel") > 0) then
		loadData SEL_CONTROL_FILE, CCBS_LOG_DIR & oFile.Name
		oFile.Move LOADED_LOGSM_FOLDER		
	elseif (instr(oFile.Name, "upd") > 0) then
		loadData UPD_CONTROL_FILE, CCBS_LOG_DIR & oFile.Name
		oFile.Move LOADED_LOGSM_FOLDER		
	elseif (instr(oFile.Name, "err") > 0) then
		loadData ERR_CONTROL_FILE, CCBS_LOG_DIR & oFile.Name
		oFile.Move LOADED_LOGSM_FOLDER		
	elseif (instr(oFile.Name, "inv") > 0) then
		loadData INV_CONTROL_FILE, CCBS_LOG_DIR & oFile.Name
		oFile.Move LOADED_LOGSM_FOLDER		
	else
		oFile.Move SKIPED_LOGSM_FOLDER		
	end if
  end if
  
Next

  analyzeData()

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function loadData(control_file, data_file_list)

dim objShell
dim strCommand

set objShell = WScript.CreateObject("Wscript.Shell")

strCommand = LOADER_CMD_FILE & LOADER_USER & " " & control_file & " " & data_file_list
'MsgBox "strCommand: " & strCommand
objShell.run strCommand ,1 ,true

set objShell = nothing

End Function

Function analyzeData()

dim objShell
dim strCommand

set objShell = WScript.CreateObject("Wscript.Shell")

strCommand = ANALYZE_CMD_FILE & LOADER_USER & " @" &ANALYZE_SQL_FILE
'MsgBox "strCommand: " & strCommand
objShell.run strCommand ,1 ,true

set objShell = nothing

End Function


Function getYYYYMMDD(offset)
Dim currDate
currDate = Date() + offset

dim mm_
mm_ = DatePart("m", currDate)
if  mm_ <= 9 then
	mm_ = "0" & mm_
end if

dim dd_
dd_ = DatePart("d", currDate)
if  dd_ <= 9 then
	dd_ = "0" & dd_
end if

Dim sDate
sDate = DatePart("yyyy", currDate) &  mm_ & dd_

getYYYYMMDD = sDate
'getYYYYMMDD = "20101011"

End Function

Thank you very much!

This forum is not a drive-in to get a big part of your work done.
If you try it yourself and get stuck with a particular problem, do not hesitate to ask.

1 Like