婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用vbscript合并多個文本文件的代碼

用vbscript合并多個文本文件的代碼

熱門標簽:合肥高德地圖標注 深圳外呼系統收費 怎么看地圖標注 外呼線路中繼線是什么 拉薩外呼系統業務 外呼系統telrobot 廣州ai電銷機器人一般多少錢 外呼系統免費招代理 百度地圖標注是什么意思
問:
嗨,Scripting Guy!在命令提示符中,可以執行命令“copy a.txt+b.txt ab.txt”來提取 a.txt 和 b.txt 的內容,然后將它們合并到名為 ab.txt 的新文件中。可以使用腳本來實現相同的操作嗎?

-- DL

答:
嗨,DL。在昨天的專欄文章中,我們探討了有關文本文件的問題;更具體地講,我們討論如何使用腳本來修改 .INI 文件。我們提到,這種解決方法盡管不是很巧妙,但可以達到目的。就今天的問題來說,同樣是這種情況。我們可以使用腳本來合并文本文件嗎?是的,可以。只不過有一點繁瑣,但效果很好。

我們所遇到的難題是,WSH 和 VBScript 都無法通過一條命令來合并文本文件,例如,objFile.AddTextFiles("file1.log","file2.log")。這有點讓人失望,但我們不會就此罷手,我們依然可以合并文本文件;只不過需要多執行幾個步驟罷了。例如,要將 File1.log 和 File2.log 合并為一個文件(我們將其命名為 Output.txt),需要先讀取 File1.log,將該文件的內容附加到 output.txt 末尾,然后讀取 File2.log,再將該 文件的內容附加到 Output.txt 末尾。事實上,我們必須使用類似下面的腳本:

復制代碼 代碼如下:

Const ForReading = 1 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objOutputFile = objFSO.CreateTextFile("output.txt") 

Set objTextFile = objFSO.OpenTextFile("c:\logs\file1.log", ForReading) 

strText = objTextFile.ReadAll 
objTextFile.Close 
objOutputFile.WriteLine strText 

Set objTextFile = objFSO.OpenTextFile("c:\logs\file2.log ", ForReading) 

strText = objTextFile.ReadAll 
objTextFile.Close 
objOutputFile.WriteLine strText 

objOutputFile.Close 

正如您所看到的一樣,該腳本并不是特別復雜。首先,我們定義一個常量 (ForReading),用于打開每個日志文件。接下來,創建一個 FileSystemObject(用于處理文本文件的腳本技術)實例,并使用 CreateTextFile 方法創建一個名為 Output.txt 的新文件。

然后,打開第一個文件 (C:\Logs\File1.log) 來讀取其中的內容。我們使用 ReadAll 方法讀入整個文本文件,并將該信息存儲在變量 strText 中。然后,關閉 File1.log,并使用 WriteLine 方法將剛讀入的信息附加到新文件 Output.txt 的末尾。接下來,對下一個文件 (C:\Logs\File2.log) 執行相同的過程。讀入第二個文件后,Output.txt 將包含第一個文件以及 第二個文件中的所有信息。哈哈,我們成功了!

我們知道您在想什么:不錯,盡管上述腳本可以實現目的,但問題是您必須“事先”知道文件夾 C:\Logs 中所有文件的名稱。那么,編寫一個腳本以獲取 C:\Logs 中的所有文件并將它們合并在一起,豈不是更好?嗯,我們還未曾這樣想過。您所說的是不是類似下面的腳本:

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutputFile = objFSO.CreateTextFile("output.txt")

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\"  strComputer  "\root\cimv2")

Set FileList = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='C:\Logs'} Where " _
         "ResultClass = CIM_DataFile")

For Each objFile In FileList
    Set objTextFile = objFSO.OpenTextFile(objFile.Name, ForReading) 
    strText = objTextFile.ReadAll
    objTextFile.Close
    objOutputFile.WriteLine strText
Next

objOutputFile.Close

實際上,我們在此處執行的全部操作是獲取 C:\Logs 文件夾中所有文件的集合;這是通過以下 WMI Associators of 查詢實現的:

Set FileList = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='C:\Logs'} Where " _
         "ResultClass = CIM_DataFile")

在獲取這一集合后,我們可以立即使用 For-Each 循環打開每個文件并讀入其中的文本(使用 ReadAll 方法,與上文中的代碼相同)。然后關閉該文件,將文本附加到輸出文件的末尾。接下來再執行一次循環,對集合中的下一個文件執行相同的過程。只需片刻,就可以將 C:\Logs 中所有文件的所有文本提取出來,并將它們合并為一個名為 output.txt 的新文件。整個過程就是這么簡單。
您可能感興趣的文章:
  • 用VBScript寫合并文本文件的腳本
  • 用vbs分割與合并文本文件的代碼

標簽:六安 嘉興 玉林 臺灣 漳州 廣安 延安 周口

巨人網絡通訊聲明:本文標題《用vbscript合并多個文本文件的代碼》,本文關鍵詞  用,vbscript,合并,多個,文本,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用vbscript合并多個文本文件的代碼》相關的同類信息!
  • 本頁收集關于用vbscript合并多個文本文件的代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 延庆县| 中超| 侯马市| 西乌珠穆沁旗| 高州市| 集安市| 高密市| 大连市| 朝阳市| 龙陵县| 高陵县| 南宁市| 静海县| 高要市| 北京市| 嫩江县| 博爱县| 灌南县| 台安县| 阜宁县| 澄江县| 黄梅县| 柳州市| 沈丘县| 江西省| 达州市| 九龙县| 蓬莱市| 阿拉善左旗| 松江区| 长武县| 陆丰市| 定结县| 安阳县| 山阳县| 河池市| 五华县| 谷城县| 星子县| 霸州市| 小金县|