Jquery中文網 mm6666com单双中特 www.wvbtf.icu
Jquery中文網 >  腳本編程  >  vbscript  >  正文 vbs 讀取遠程計算機上文本文件的腳本

长期公开精准单双中特:vbs 讀取遠程計算機上文本文件的腳本

發布時間:2014-10-12   編輯:mm6666com单双中特 www.wvbtf.icu
使用vbs腳本讀取遠程計算機上的文本文件,有需要的朋友可以參考下。

mm6666com单双中特 www.wvbtf.icu 使用vbs腳本讀取遠程計算機上的文本文件,有需要的朋友可以參考下。

我們知道,在vbscript中,FileSystemObject(用于讀寫文本文件的對象)原本用于本地;不過,由于FileSystemObject 可以使用 UNC 路徑。假設要讀取的文件位于文件共享目錄中 (\\atl-fs-01\public\myfile.txt)。在這種情況下,打開和讀取文本文件就變得相當簡單了:
 

復制代碼 代碼示例:
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("\\atl-fs-01\public\myfile.txt", ForReading)
strContents = objTextFile.ReadAll
objTextFile.Close
Wscript.Echo strContents

先是定義一個名為 ForReading 的常量并將其值設置為 1。然后創建 FileSystemObject 引用,并調用 OpenTextFile 方法,傳遞兩個參數:要操作的文件的 UNC 路徑及常量 ForReading。此時已經可以對文件進行所需的任何操作:舉一個操作文本文件的簡單例子:調用 ReadAll 方法將文件的全部內容讀入名為 strContents 的變量中。然后關閉文件并回顯 strContents 的值。
只要待操作的文件位于共享文件夾中,這段代碼便很有效。
但如果文件不在共享文件夾中,該怎么辦呢?在這種情況下,就只能使用管理共享(如 C$)。即使尚未共享文件夾 C:\Public,以下腳本也能夠讀取文件 MyFile.txt:
 

復制代碼 代碼示例:
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("\\atl-fs-01\C$\public\myfile.txt", ForReading)
strContents = objTextFile.ReadAll
objTextFile.Close
Wscript.Echo strContents

如果不使用管理共享,那多半沒什么辦法。(除非您真的要做出某些瘋狂的舉動,如使用 WSHController 對象。但那就要另當別論了。)
如何遍歷遠程文件夾中的所有文件并使用 FileSystemObject 打開和讀取其中的每個文件?
 

復制代碼 代碼示例:
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
strComputer = "atl-fs-01"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='C:\Logs'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In colFileList
strFilePath = "\\" & strComputer & "\C$\Logs\" & _
objFile.FileName & "." & objFile.Extension
Set objTextFile = objFSO.OpenTextFile(strFilePath, ForReading)
strContents = objTextFile.ReadAll
Wscript.Echo strContents
objTextFile.Close
Next

這段代碼的作用是連接到遠程計算機 atl-fs-01,并檢索文件夾 C:\Logs 中所有文件的集合。棘手之處是構建每個文件的路徑,那是因為我們需要使用與以下類似的管理共享路徑:
 

復制代碼 代碼示例:
\\atl-fs-01\C$\Logs\MyFile.log
 

為構建該路徑,我們會各使用一些 WMI 和硬編碼:
 

復制代碼 代碼示例:
strFilePath = "\\" & strComputer & "\C$\Logs\" & _
objFile.FileName & "." & objFile.Extension
 

我們要做的是:
1、以一對 \ 開頭: \\
2、添加計算機名稱:\\atl-fs-01
3、添加一個 \ 和管理共享路徑 C$\Logs\:\\atl-fs-01\C$\Logs\
4、添加 WMI FileName 屬性(只含文件名部分,不含文件擴展名):\\atl-fs-01\C$\Logs\MyFile
5、在文件名和文件擴展名之間添加句點(因為句點不是 WMI Extension 屬性的一部分):\\atl-fs-01\C$\Logs\MyFile.
6、添加 WMI 屬性 Extension:\\atl-fs-01\C$\Logs\MyFile.log
雖然看起來略顯復雜了,但它構建了我們需要的 UNC 路徑。
而且,每次完成循環時它都會替換新的文件名和新的文件擴展名(計算機名稱和文件夾路徑從不改變)。
于是,我們最終能夠打開(并讀?。┰凍濤募兄械拿扛鑫募?。

好了,有關如何用vbs讀取遠程計算機上文本文件的方法,就介紹到這里了,祝大家學習愉快。

您可能感興趣的文章:
vbs 讀取遠程計算機上文本文件的腳本
VBS腳本運行庫手冊(9)-讀取文本文件
VBS腳本運行庫手冊(1)-磁盤操作
VBS腳本運行庫手冊(11)-追加文本
VBS腳本運行庫手冊(5)-復制和移動文件
VBS腳本運行庫手冊(2)-管理文件夾
expect腳本遠程批量管理服務器的思路解析
dos進程查看(tasklist)與停止命令(taskkill)
遠程登錄的簡單expect腳本
用vbs生成若干個隨機數并寫入txt文件中的代碼

[關閉]
七乐彩规则 pk10机器人计划软件app 大乐透1000期走势图 彩票大小倍投方案 四肖八码期期准精选资料 二八杠怎么看生死门 重庆时时开奖结果记录 新时时彩 5分彩走势图 彩票投注站怎么开要多少钱 百人牛牛押注几门稳 老时时彩360开奖数据 江苏时时网投 龙虎规律分析 融资计划表 十二生肖走势图