WSH †
- Microsoft TechNet: スクリプト センター
WSH †
- Windows Script
- @IT:運用 Windows管理者のためのWindows Script Host
- Windows Scripting Host Laboratory
Shell †
CopyHere Method †
- Copying Folders by Using the Shell Folder Object
- CopyHere Method
コンソール †
- User Interaction with Windows Script Host
VBScript †
外部ファイルのインクルード方法 †
- Execute ステートメントを使うことで外部ファイルを取り込むことが可能。
サンプル †
- ExecuteTest.vbs
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
FileSystemObject †
テキストファイルを連結するサンプル †
- コード
' 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
ログファイル †
- Read a Comma Separated Values Log
- Read a Fixed Width Column Log
ADO †
ADOレコードセットをXMLに出力するサンプル †
- コード
' 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
- 関連情報
- Internet Explorer で ADODB.Stream オブジェクトを無効にする方法
ADO でテキストファイルをソートするサンプル †
CDO †
- Windows標準機能とWSHを使ってメールを送信する
- Creating and Sending a Message
- アプリケーションで電子メールを利用する
CDO でメールを送るサンプル。 †
WMI †
- WMI による Windows の管理
- MSDN Library - WMI
- WMI スクリプト入門 : 第 1 部
- Windows 2000: スクリプト天国
- システム管理は楽ですか? (前編) 〜 Windows Management Instrumentation 〜
- システム管理は楽ですか? (後編) 〜 Windows Management Instrumentation 〜
- WMI Fun !!
- WMIいぢり 第1回:WMIって?
- WMIいぢり 番外編:サンプル集 - WMIをいぢる - ものいぢり - いつまでも構想中
- 演習 1 : 簡単な WMI タスク
- 827227 - Visual Basic スクリプトを使用してリモート ホスト コンピュータにセキュリティ修正プログラムをインストールする方法
- お前ら、wsh使ってますか?
- リモートコンピュータへアクセス
- Administering Windows through Windows Script Host
- WMIサンプル集 - オペレーティングシステム関連
メモ帳を終了させるプログラム †
隣のPCでプログラムを実行させる方法。 †
- コード
Set 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
XML †
正規表現 †
- 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化
- Windows Script 5.5 の新機能
- Regular Expression (RegExp) オブジェクト
URIを解析するサンプル †
関連リンク †
- VBScript Tools by Bill James
その他 †
コマンド †
Runas †
関連リンク †
- Windows Scripting Solutions
|