Const g_strA = "AAA" Const g_strB = "BBB"
Option Explicit
Main
Sub Main
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f
Set f = fso.OpenTextFile( "d:\home\edu\VBScript\ExecuteTest\include.vbs", 1, False )
Dim strBuf
strBuf = f.ReadAll
WScript.Echo "<内容確認>"
WScript.Echo strBuf
Execute strBuf
WScript.Echo "<Execute の実行結果>"
WScript.Echo g_strA
WScript.Echo g_strB
End Sub<内容確認> Const g_strA = "AAA" Const g_strB = "BBB" <Execute の実行結果> AAA BBB
' AppendFile.vbs
' 使い方:
' 1. DIR_SRC にコピー元のファイルがあるフォルダ名を指定します。
' 2. DIR_DST にコピー先のフォルダ名を指定します。
' 3. FILE_ADD に追加するテキストファイルを記述します。
' 4. AppendFile.vbs をダブルクリックします。
' DIR_DST の場所に連結されたファイルが作成されます。
'
Const DIR_SRC = "D:\home\edu\VBScript\AppendFile\src" ' コピー元のフォルダ名
Const DIR_DST = "D:\home\edu\VBScript\AppendFile\dst" ' コピー先のフォルダ名
Const FILE_ADD = "D:\home\edu\VBScript\AppendFile\add.txt" ' 追加するテキストファイル
AppendFile
Sub AppendFile
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder
Set folder = fso.GetFolder( DIR_SRC )
Dim strFileName ' コピー元のファイル名が入ります
Dim txtFile1
Dim txtFile2
Dim txtFile3
Dim strMargeText ' 文字列連結用変数
For Each strFileName In folder.Files
Set txtFile1 = fso.OpenTextFile( strFileName, 1, False )
Set txtFile2 = fso.OpenTextFile( FILE_ADD, 1, False )
strMargeText = txtFile1.ReadAll & txtFile2.ReadAll
Set txtFile3 = fso.CreateTextFile( DIR_DST & "\" & fso.GetFileName(strFileName) , True)
txtFile3.WriteLine( strMargeText )
Next
End Sub' RecordsetToXml.vbs
Const adVarChar = 200
Const adFldIsNullable = 32
Const adPersistXML = 1
Const adReadAll = -1
RecordsetToXml
Sub RecordsetToXml()
Dim rsTmp
Set rsTmp = CreateObject("ADODB.Recordset")
With rsTmp.Fields
.Append "Field1", adVarChar, 80, adFldIsNullable
.Append "Field2", adVarChar, 80, adFldIsNullable
End With
rsTmp.Open
Dim vFieldList
vFieldList = Array("Field1", "Field2")
Dim vValues
vValues = Array("aaa", "bbb")
rsTmp.AddNew vFieldList, vValues
vValues = Array("CCC", "DDD")
rsTmp.AddNew vFieldList, vValues
rsTmp.MoveFirst
Dim fld
Dim strLine
Dim strName
strLine = ""
For Each fld In rsTmp.Fields
strName = fld.Name
strLine = strLine & strName & vbTab
Next
WScript.Echo strLine
Dim strValue
While Not rsTmp.BOF And Not rsTmp.EOF
strLine = ""
For Each fld In rsTmp.Fields
strValue = fld.Value
strLine = strLine & "[" & strValue & "]" & vbTab
Next
WScript.Echo strLine
rsTmp.MoveNext
Wend
Dim stm
Set stm = CreateObject("ADODB.Stream")
rsTmp.Save stm, adPersistXML
Dim strResult
strResult = stm.ReadText(adReadAll)
WScript.Echo strResult
End Sub<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
<s:AttributeType name='Field1' rs:number='1' rs:nullable='true'
rs:write='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='80'
rs:precision='0' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='Field2' rs:number='2' rs:nullable='true'
rs:write='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='80'
rs:precision='0' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<rs:insert>
<z:row Field1='aaa' Field2='bbb'/>
<z:row Field1='CCC' Field2='DDD'/>
</rs:insert>
</rs:data>
</xml>Option Explicit
Main
Sub Main()
Dim named
Set named = WScript.Arguments.Named
Dim strTable
If named.Exists("file") Then
strTable = named("file")
WScript.Echo "Table = [" & strTable & "]"
Else
WScript.Echo "Usage : CScript //Nologo SortFile.vbs /File:<filename.txt>"
WScript.Quit()
End If
Dim cn
Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source") = "."
.Properties("Extended Properties") = "TEXT;HDR=No;"
End With
cn.Open
Dim strSQL
strSQL = "SELECT F1 FROM " & strTable & " ORDER BY F1 ASC"
Dim rs
Set rs = cn.Execute( strSQL )
While Not rs.BOF And Not rs.EOF
WScript.Echo rs(0)
rs.MoveNext
Wend
End Sub'SendMailTest.vbs
Option Explicit
'On Error Resume Next
const cdoBasic = 1
const cdoPostUsingPort = 2
const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
const cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
Dim iMsg
Set iMsg = CreateObject("CDO.Message")
Dim iConf
Set iConf = CreateObject("CDO.Configuration")
Dim Flds
Set Flds = iConf.Fields
With Flds
' assume constants are defined within script file
.Item(cdoSendUsingMethod) = 2 ' cdoSendUsingPort
.Item(cdoSMTPServer) = "smtp.example.co.jp"
.Item(cdoSMTPConnectionTimeout) = 10 ' quick timeout
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "username"
.Item(cdoSendPassword) = "password"
.Update
End With
With iMsg
Set .Configuration = iConf
.From = "sender@example.co.jp"
.To = "receiver@example.co.jp"
.Subject = "test"
.TextBody = "This is a test."
.Send
End With' KillNotepad.vbs
Main
Sub Main()
For Each Process In GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_Process where Name='NOTEPAD.EXE'")
Set oProcess = Process
WScript.Echo oProcess.ExecutablePath
Process.Terminate
Next
End SubSet args = Wscript.Arguments
If args.Count < 1 Then
Wscript.StdOut.WriteLine "xstart <command> [<computer>]"
Else
'--- コマンド指定
strCommand = args(0)
'--- コンピュータ指定
strComputerPath = ""
If args.Count = 2 Then
strComputer = args(1)
If InStr(strComputer, "\\") = 1 Then
strComputer = Mid(strComputer, 3)
End If
strComputerPath = "\\" & strComputer & "\root\cimv2:"
End If
'--- WMI に接続 Wim32_Process クラスを取り出す
Set clsProcess = GetObject("winmgmts:{impersonationLevel=impersonate}" _
& "!" & strComputerPath & "Win32_Process")
'--- プロセスの作成
lngResult = clsProcess.Create(strCommand)
Wscript.StdOut.WriteLine strCommand & " :" & lngResult
End If
Option Explicit
Dim strData
Dim regExp
Set regExp = New RegExp
strData = "http://www.hondarer-soft.com/cx/"
regExp.Pattern = "(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"
Dim matches
Dim match
Dim strValue
Dim i
Set matches = regExp.Execute( strData )
For Each match In matches
For i = 0 To match.SubMatches.Count -1
strValue = match.SubMatches(i)
WScript.Echo "match.SubMatches(" & i & ") = [" & strValue & "]"
Next
Nextmatch.SubMatches(0) = [http] match.SubMatches(1) = [www.hondarer-soft.com] match.SubMatches(2) = [] match.SubMatches(3) = [/cx/]
#access