maruton's memorandum
ここはブログ作成時にやったことのメモや今まで作ったスクリプトなどをおぼえがき程度にまとめておくところ。
ページ
ホーム
Blogger Tips
HTML Tips
Script
Windows Tools
OS Tips
IT日記
WordPress
Security
Other
★
プライバシーポリシー
ページ
暗号通貨でサポート
カルダノSPO
Amazonほしい物リスト
2012年11月19日月曜日
[Script][VBS]ファイルの読み書き(FileSystemObject)
ファイルの読み書きをするサンプルです。
ファイルを開いて1行ずつ読み込み処理をする
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objInFile = objFSO.OpenTextFile("D:\sample\infile.txt")
Do While Not objInFile.AtEndOfStream
strLine = objInFile.ReadLine
'ここで読み込んだstrLineを使って処理を行う。
Loop
objInFile.Close
WScript.Quit
ファイルを開いて1行ずつ書き込む
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objOutFile = objFSO.CreateTextFile("D:\sample\outfile.txt")
objOutFile.WriteLine "1行目"
objOutFile.WriteLine "2行目"
objOutFile.WriteLine "3行目"
objOutFile.Close
WScript.Quit
ファイルの開き方あれこれ
' -----------------------------------------------------
' FileSystemObject
' ファイルを開く
' -----------------------------------------------------
Set objFileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
'既存ファイルを読み込み専用で開く
Set objTargetFile = objFileSystemObject.OpenTextFile(strTargetFile)
Set objTargetFile = objFileSystemObject.OpenTextFile(strTargetFile, 1)
'既存ファイルを書き込み専用で開く(既存データは消える)
Set objTargetFile = objFileSystemObject.OpenTextFile(strTargetFile, 2)
Set objTargetFile = objFileSystemObject.CreateTextFile(strTargetFile)
'既存ファイルを追記モードで開く(既存データに追記)
Set objTargetFile = objFileSystemObject.OpenTextFile(strTargetFile, 8)
'ファイルを追記モードで開く(ファイルがなかった場合は新規作成)
Set objTargetFile = objFileSystemObject.OpenTextFile(strTargetFile, 8, True)
Set objTargetFile = objFileSystemObject.CreateTextFile(strTargetFile, True)
サブフォルダを取得
Set objFileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
' -----------------------------------------------------
' スクリプトの格納フォルダ取得
' -----------------------------------------------------
strParentFolderPath = objFileSystemObject.GetParentFolderName(WScript.ScriptFullName)
Set objFolder = objFileSystemObject.GetFolder(strParentFolderPath)
msgbox strParentFolderPath
' -----------------------------------------------------
' サブフォルダを取得
' -----------------------------------------------------
Set objSubFolders = objFolder.SubFolders
For Each objSubFolder in objSubFolders
msgbox objSubFolder.name
Next
ファイル / フォルダの存在確認
Set objFileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
'ファイルが存在しない場合にはスクリプト終了
If Not objFileSystemObject.FileExists(strTargetFile) Then WScript.Quit
'ファイルオブジェクトを取得
objFile = objFileSystemObject.GetFile(strTargetFile)
'フォルダが存在しない場合にはフォルダを作成
If Not objFileSystemObject.FolderExists(strTargetFolder) Then objFileSystemObject.CreateFolder(strTargetFolder)
'フォルダオブジェクトを取得
objFolder = objFileSystemObject.GetFolder(strTargetFolder)
サブフォルダを作成する
Dim objFs
Dim strPath, ComputerName
Set objFs = WScript.CreateObject("Scripting.FileSystemObject")
'現在のフォルダの絶対パスを取得
strPath= objFs.GetAbsolutePathName(".")
MsgBox "現在のパスは" & vbCrLf & strPath & vbCrLf & "です"
'ホスト名のサブフォルダを作成する
ComputerName = GetComputerName() 'ホスト名を取得する
MsgBox ComputerName & vbCrLf & "フォルダを作成します"
If Right(strPath,1) <> "\" Then strPath = strPath & "\"
strPath = strPath & ComputerName
if objFs.FolderExists( strPath ) then objFs.DeleteFolder( strPath )
objFs.CreateFolder( strPath )
'ホスト名のサブフォルダを削除する
MsgBox ComputerName & vbCrLf & "フォルダを削除します"
objFs.DeleteFolder( strPath )
'--------------------------------------------------------------
Function GetComputerName()
'ホスト名を取得する
Dim WSHNetwork
Set WSHNetwork = WScript.CreateObject("WScript.Network")
GetComputerName = WSHNetwork.ComputerName
End Function
ファイルの一覧を取得
Dim objFs
Dim objFolder, objFiles, objFile
Set objFs = WScript.CreateObject("Scripting.FileSystemObject")
'ファイルの一覧を取得
Set objFolder = objFs.GetFolder(".")
Set objFiles = objFolder.Files
'フォルダ内のすべてのファイルに対して
For Each objFile in objFiles
'拡張子の取得
If objFs.GetExtensionName(objFile.Name) = "txt" then
MsgBox objFile.Name
End If
Next
Script のページに戻る
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿