Note (half an hour of frustration later):
First, I forget that you need to specify the script in the <externals> </externals> section of BBWin.cfg. Doh. Suggest that Ray put a note to that effect in the comments section of his script to help remind folks who haven't done this in a while (me) or are first timers.
Then, it seems that simply calling cscript fsize.vbs (filename I gave it) does not work. The full path to the program appears to need to be specified, i.e. "cscript C:\Program Files\BBWin\ext\fsize.vbs". I suspect that this is because simply invoking "cscript filename.vbs" causes cscript to be executed in a working directory other than the "ext" directory. Is this a bug? Saw someone else say that full pathing a call to the cluster.exe script fixed their problem.
Trying cscript on the command line, it appears to gack on there being a space in "Program Files" unless you enclose the supplied path in quotes... which I'm not sure how to do inside the BBWin.cfg file.
So I had to create a "C:\BBWin\ext" directory and drop the script in there, and it works. ... any way to get around this?
Thomas
On Mon, Aug 24, 2009 at 7:23 AM, Storer, Raymond<storerr at nibco.com> wrote:
Thomas, you can try the code someone else pointed to at deadcat and you can also try this:
Ray
'Author: Ray Storer 'Date: 2009-08-24 'Purpose: Check file size and existence
Option Explicit
'If you want to use the registry to find this, feel free to change this. Const BBWIN_TMP_DIR = "C:\Program Files\BBWin\tmp\" 'change to meet your environment, but leave the trailing backslash Const BBWIN_TEST_NAME = "fsize" 'change to meet your requirements
'If you want to use the environment variables feel free to change this. Const HOST_NAME = "YOUR_MACHINE_NAME" 'change to meet your environment
'16 gigabytes Const MAX_TOTAL_FILE_SIZE = 17179869184 'change to meet your requirements Dim RED_FILE_SIZE RED_FILE_SIZE = MAX_TOTAL_FILE_SIZE * 0.85 'change to meet your requirements Dim YELLOW_FILE_SIZE YELLOW_FILE_SIZE = MAX_TOTAL_FILE_SIZE * 0.70 'change to meet your requirements
'change the arrFiles(1) to the number of elements (files) you need minus 1. Dim oFso, arrFiles(1), strStatus, oFile, iSumFileSize, strRedGreen, strFileInfo iSumFileSize = 0 strRedGreen = "GREEN" Set oFso = CreateObject("Scripting.FileSystemObject")
'change to meet your environment arrFiles(0) = "C:\Program Files\BBWin\bin\cpu.dll" arrFiles(1) = "C:\Program Files\BBWin\bin\disk.dll" 'keep adding arrFiles(...) here if you need more strStatus = "" strFileInfo = ""
'get the file sizes and set red if they do not exist Dim sFile for each sFile in arrFiles if (oFso.FileExists(sFile)) then Set oFile = oFso.GetFile(sFile) strFileInfo = strFileInfo & vbcrlf & sFile & vbtab & CStr(oFile.Size) iSumFileSize = iSumFileSize + oFile.Size else strRedGreen = "RED" if (len(strStatus) = 0) then strStatus = strRedGreen & " " & HOST_NAME & " " & CStr(Now()) strStatus = strStatus & VbCrLf strStatus = strStatus & " " & sFile & " file does not exist." else strStatus = strStatus & " " & sFile & " file does not exist." end if 'check len of strStatus end if 'check for file existence next 'iterate over the files
'set red,yellow,green based on file sizes if (iSumFileSize >= RED_FILE_SIZE) then strRedGreen = "RED" else if (iSumFileSize >= YELLOW_FILE_SIZE) then if (strRedGreen <> "RED") then strRedGreen = "YELLOW" end if else if (strRedGreen <> "RED") then strRedGreen = "GREEN" end if end if end if
if (len(strStatus) = 0) then strStatus = strRedGreen & " " & HOST_NAME & " " & CStr(Now()) strStatus = strStatus & vbcrlf strStatus = strStatus & strFileInfo strStatus = strStatus & vbcrlf strStatus = strStatus & "Total File Size: " & CStr(iSumFileSize) else strStatus = strStatus & vbcrlf strStatus = strStatus & strFileInfo strStatus = strStatus & vbcrlf strStatus = strStatus & "Total File Size: " & CStr(iSumFileSize) end if
Set oFile = ofso.CreateTextFile(BBWIN_TMP_DIR & BBWIN_TEST_NAME, true) oFile.WriteLine(strStatus) oFile.Close
Set oFile = Nothing Set oFso = Nothing
CONFIDENTIALITY NOTICE: This email and any attachments are for the exclusive and confidential use of the intended recipient. If you are not the intended recipient, please do not read, distribute or take action in reliance upon this message. If you have received this in error, please notify us immediately by return email and promptly delete this message and its attachments from your computer system. We do not waive attorney-client or work product privilege by the transmission of this message.
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk