VBS腳本實(shí)現(xiàn)遍歷批量替換多目錄多文件內(nèi)容的代碼
有時(shí)候我們需要將一個(gè)目錄與子目錄中的多個(gè)htm網(wǎng)頁文件實(shí)現(xiàn)批量替換,這里就為大家分享一下
將以下代碼復(fù)制到一個(gè)文本文檔中,并將文本文檔的后綴修改為.vbs,直接運(yùn)行即可
Set WshShell = CreateObject("Wscript.Shell") WshShell.Run "cmd /c dir /s/b *.htm > list.htm",vbHide Wscript.Sleep 1000 sFile = "list.htm" Set objFSO = CreateObject("Scripting.FileSystemObject") Set oFile = objFSO.OpenTextFile(sFile,1) Do While Not oFile.AtEndOfStream strLine = oFile.ReadLine If Len(strLine) > 0 Then Set File = objFSO.OpenTextFile(strLine, 1) aryLines = File.ReadAll File.Close aryLines = Replace(aryLines, "需要替換的內(nèi)容", "替換后的內(nèi)容") Set File = objFSO.OpenTextFile(strLine, 2) File.Write aryLines File.Close End If Loop oFile.Close objFSO.DeleteFile sFile Set objFSO = Nothing
cmd /c dir /s/b *.htm > list.htm就是將子目錄中所喲的htm文件列出來保存到list.htm文件中。
文件替換就是通過vbs中的FileSystemObject實(shí)現(xiàn)批量替換,具體的可以參考這篇文章
如果替換的內(nèi)容中包含有轉(zhuǎn)義字符的話,需要注意轉(zhuǎn)義一下
PS:VBScript的相關(guān)轉(zhuǎn)義字符:
"/" (反斜杠)
VbCrLf (換行符,用來表示重起一行)
VbTab (水平制表符)
Chr(8) (退格符)
vbCr (回車符)
"'" (單引號(hào))
/" - > "" (雙引號(hào))
相關(guān)文章
顯示運(yùn)行對(duì)話框內(nèi)保存的命令歷史的vbs
這段代碼可以獲取曾經(jīng)在運(yùn)行對(duì)話框中的,我們之前輸入的命令歷史2008-10-10VBS中獲取系統(tǒng)本次及上次開關(guān)機(jī)時(shí)間的代碼(WinXP/win2003/Win7兼容版)
獲取系統(tǒng)本次及上次開關(guān)機(jī)時(shí)間的vbs代碼,經(jīng)測(cè)試兼容WinXP/win2003/Win7系統(tǒng),喜歡的朋友可以收藏下2013-01-01VBS實(shí)現(xiàn)將字符串寫入剪切板的實(shí)現(xiàn)代碼
VBS實(shí)現(xiàn)將字符串寫入剪切板的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2012-01-01VBS 十六進(jìn)制異或加密實(shí)現(xiàn)代碼
文件不要過大,最好不要超過 100 KB,密鑰不要用數(shù)字,不想改了。理論上支持任何二進(jìn)制文件格式2013-07-07WMI中的Win32_PingStatus類(ping命令實(shí)現(xiàn))
平時(shí)很少用到ping命令,所以這個(gè)類也沒怎么用過,測(cè)試了一下,好像效率比ping要高。計(jì)算ping 100次jb51.net延遲的平均值。2011-01-01VBScript 監(jiān)控磁盤更改事件實(shí)現(xiàn)代碼
這篇文章主要介紹了如何用vbs實(shí)現(xiàn)監(jiān)控磁盤更改事件,需要的朋友可以參考下2013-07-07遠(yuǎn)程啟動(dòng)終端服務(wù)的windows腳本ROTS.vbs
遠(yuǎn)程啟動(dòng)終端服務(wù)的windows腳本ROTS.vbs...2007-02-02