These are old notes that were initially for making edits to VBScript ASP pages (before .Net), though most the VBScript syntax will carry over to windows shell scripting (if you want to use VBScript instead of DOS-style syntax).  The last few examples are for Windows shell.
echo
    Wscript.Echo "hello world"
execute vbscript on command line
    rem This is the command line version
    cscript "C:\Users\guest\Desktop\123\MyScript.vbs"
    OR
    rem This is the windowed version
    wscript "C:\Users\guest\Desktop\123\MyScript.vbs"
ASP page def, char encoding
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
require explicit variable declaration
    Option Explicit
include file
    <!--#include file="z_common.asp"-->
declare variable
    Dim lstrID
comment
    ' this is a comment
multiline comments
    ' bwa hahaha
    '   hahaha
    '   hahaha !
    ' (evil laugh)
string concatenation
    Dim lstrSQL;
    lstrSQL = "UPDATE " & YOURTABLE & ""
    lstrSQL = lstrSQL & " " & "SET"
    lstrSQL = lstrSQL & " " & "  AccountNumber = '" & replaceForDB(lstrAccountNum) & "',"
    lstrSQL = lstrSQL & " " & "  ContactType = '" & replaceForDB(lstrContactType) & "',"
    lstrSQL = lstrSQL & " " & "  Comments = '" & replaceForDB(lstrComments) & "',"
    lstrSQL = lstrSQL & " " & "  NextContactDate = #" & replaceForDB(lstrNextContactDate) & "#"
    lstrSQL = lstrSQL & " " & "WHERE"
    lstrSQL = lstrSQL & " " & "  CallID = " & replaceForDB(lstrID) & ""
if, else if,  else
    If ((lstrAction = "edit") AND (isAdmin(gstrUsername) = 1)) Then
    ElseIf ((lstrAction = "delete") AND (isAdmin(gstrUsername) <> 1)) Then
        ' example
    Else
        Response.Write("Unknown action or unauthorized user passed to call detail action page!")
        Response.End
    End If
form vars
    if (request.Form("submit")="Submit") Then
print
    Response.Write("Unknown action or unauthorized user passed to call detail action page!")
    Response.End
function
    Function replaceForDB(argstrToReplace)
    ' PASS    : String to replace
    ' RETURNS : String with baddies removed
        Dim lstrReturn
        If (IsNull(argstrToReplace) <> True) Then
            lstrReturn = Replace(argstrToReplace,"'","''")
        Else
            lstrReturn = ""
        End If
        ' return by setting function name
        replaceForDB = lstrReturn
    End Function 'replaceForDB
redirect
    Response.Redirect("test.asp?id=" & id)
date math
    thisMonth = Now
    nextMonth = DateAdd("m", +1, thisMonth)
    nextYear = DateAdd("yyyy", +1, thisMonth)
    firstDay = dateFormatYYYYMMDD(DateSerial(Year(thisMonth), Month(thisMonth), 1))
    firstDayNextMonth = dateFormatYYYYMMDD(DateSerial(Year(nextMonth), Month(nextMonth), 1))
    firstDayNextYear = dateFormatYYYYMMDD(DateSerial(Year(nextYear), Month(nextYear), 1))
    Wscript.Echo firstDay
    Wscript.Echo firstDayNextMonth
    Wscript.Echo firstDayNextYear
    Function dateFormatYYYYMMDD(myDate)
         d = lPad(Day(myDate), 2, "0")
         m = lPad(Month(myDate), 2, "0")
         y = Year(myDate)
         dateFormatYYYYMMDD= y & "-" & m & "-" & d
    End Function
    Function lPad(s, l, c)
      Dim n : n = 0
      If l > Len(s) Then n = l - Len(s)
      lPad = String(n, c) & s
    End Function
DB connection strings
    ' trusted connection
    Const DB_CONNECT_STRING = "Driver={SQL Server};server=YOURSERVER;Database=YOURTABLE;Trusted_Connection = yes;"
    ' user password
    Const adOpenStatic = 3
    Const adLockOptimistic = 3
    Const DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=YOUR_HOST;Database=YOUR_DB;User Id=YOUR_USER;Password=YOUR_PASSWORD;"
execute query
    Set objConnection = CreateObject("ADODB.Connection")
    Set objRecordSet = CreateObject("ADODB.Recordset")
    objConnection.Open DB_CONNECT_STRING
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = strScript    ' executes first script
    objCommand.Execute
    objConnection.Close
database select/loop
    Set objRS = Server.CreateObject("ADODB.Connection")
    strSQL = "SELECT * FROM news WHERE news_id= " & news_id & ""
    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly
    ' Loop through the recordset and populate the list
     Do Until objRS.EOF = True
      headline  = objRS("news_headline").Value
      copy  = objRS("news_copy").Value
      datetime  = objRS("news_date").Value
     objRS.Movenext
     Loop
    objRS.Close
transaction
    Dim lstrDBError
    lstrDBError = ""
    If lobjDBConn.Errors.Count <> 0 then
         For Each lobjDBErr In lobjDBConn.Errors
             lstrDBError = lstrDBError & "" & lstrDBError.Number & " - " & lstrDBError.Description & "<br>" & CHr(13)
         Next
    End If
    If (lstrDBError = "") Then
        lobjDBConn.CommitTrans
    Else
        lstrDBError = "<br><strong>An error has occured:<br>" & lstrDBError & "</strong><br>" & Chr(13)
        lobjDBConn.RollbackTrans
        Response.Write(lstrDBError)
        Response.End
    End If
    lobjDBConn.Close
    Set lobjDBConn = Nothing
for loop
    For i = 0 To UBound(ArrayOfValues)
        Response.Write "Value " & i & " is " & ArrayOfValues(i) & "<br>"
    Next
constants
    Const filename = ".\ILCOLL.csv"
split string
    sVal = Request.Form("Listbox")
    ''sVal = "Joe, Bob, Tom, Phil, Toby" for argument's sake
    ArrayOfValues = Split(sVal, ", ")
    For i = 0 To UBound(ArrayOfValues)
    Response.Write "Value " & i & " is " & ArrayOfValues(i) & "<br>"
    Next
loop over text file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set listFile = fso.OpenTextFile("list.txt")
    do while not listFile.AtEndOfStream
        fName =  listFile.ReadLine()
        fso.CreateTextFile(fName + ".txt")
    loop
str replace
    Replace(string,find,replacewith[,start[,count[,compare]]])
escape
    You can escape by doubling the quotes
    g="abcd """ & a & """"
    or write an explicit chr() call
    g="abcd " & chr(34) & a & chr(34)
scrape webpage
  ' Create an xmlhttp object:
  With CreateObject("MSXML2.XMLHTTP")
    .open "GET", sURL, False
    .send
    Do Until .readyState = 4 : Wscript.Sleep 50 : loop
    sPageText = .responseText
    ' or responseHTTP, or responsebody (BIN)
  end with
  if Instr(sPageText, "Your Match String") > 0 Then
    with CreateObject("Scripting.FileSystemObject)
      with .OpenTextFile("C:\Somewhere\logfile.log, 8)
        .writeline "Found Match: : & Now()
      end with
    end with
  end if
complete example - update dates in table
    Const adOpenStatic = 3
    Const adLockOptimistic = 3
    Const DB_CONNECT_STRING = "Driver={SQL Server};server=YOURSERVER;Database=YOURDATABASE;Trusted_Connection = yes;"
    Dim strScript
    Dim strScript2
    strScript = ""
    strScript2 = ""
    thisMonth = Now
    nextMonth = DateAdd("m", +1, thisMonth)
    nextYear = DateAdd("yyyy", +1, thisMonth)
    firstDay = dateFormatYYYYMMDD(DateSerial(Year(thisMonth), Month(thisMonth), 1))
    firstDayNextMonth = dateFormatYYYYMMDD(DateSerial(Year(nextMonth), Month(nextMonth), 1))
    firstDayNextYear = dateFormatYYYYMMDD(DateSerial(Year(nextYear), Month(nextYear), 1))
    strScript = "update YOURTABLE.dbo.payments set YOURFIELD = '" + firstDayNextMonth + "' where YOURFIELD =  CONVERT(DATETIME, '" + firstDay + "', 102) "
    strScript2 = "update YOURTABLE.dbo.payments set YOURFIELD = '" + firstDayNextYear + "' where YOURFIELD =  CONVERT(DATETIME, '" + firstDay + "', 102) "
    Set objConnection = CreateObject("ADODB.Connection")
    Set objRecordSet = CreateObject("ADODB.Recordset")
    objConnection.Open DB_CONNECT_STRING
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = strScript
    objCommand.Execute
    objCommand.CommandText = strScript2
    objCommand.Execute
    objConnection.Close
    Function dateFormatYYYYMMDD(myDate)
         d = lPad(Day(myDate), 2, "0")
         m = lPad(Month(myDate), 2, "0")
         y = Year(myDate)
         dateFormatYYYYMMDD= y & "-" & m & "-" & d
    End Function
    Function lPad(s, l, c)
      Dim n : n = 0
      If l > Len(s) Then n = l - Len(s)
      lPad = String(n, c) & s
    End Function
execute com object
    Set ccObj = CreateObject("YOURDLL.CLASS")
    Dim somestring
    somestring = "some data"
    ccObj.InBuffer = somestring
    ccObj.Encrypt
    somestring = ccObj.OutBuffer
    Wscript.Echo pass
No comments:
Post a Comment