Re: [請問]有沒有可以利用"檔名"取代"檔案內"字串ꨠ…
隨手亂寫,還請其他高手見諒。
使用方式為要做處理檔案請手動拖曳到底下這個檔案的圖示上即可。
(可圈選大量檔案,並拖曳)
檔案會直接輸出到與來源相同的目錄
注意:若是你丟入的檔案副檔名是 .html 的話,則輸出時會覆蓋原檔!!
ps. *** 表示請自己把下一行接上去
pps. 請使用者自行負擔使用風險
--------8<------------- (複製虛線內文字另存為 .vbs)
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objStream : Set objStream = CreateObject("ADODB.Stream")
Dim objArgs : Set objArgs = WScript.Arguments
Dim fpath, ftmp, file, i, sid, sname, scat
If objArgs.Count < 1 Then
WScript.Quit
End if
'// 設定編碼格式與讀取方式
objStream.Charset = "UTF-8"
objStream.Type = 2
For i = 0 to objArgs.Count - 1
fpath = objArgs(i)
ftmp = Mid(fpath, InStrRev(fpath, "\") + 1, ***
InStrRev(fpath, ".") - InStrRev(fpath, "\") - 1)
'// 擷取檔名
sid = Mid(ftmp, 1, InStr(ftmp, "-") - 1)
sname = Mid(ftmp, InStr(ftmp, "-") + 1, ***
InStrRev(ftmp, "-") - InStr(ftmp, "-") - 1)
scat = Mid(ftmp, InStrRev(ftmp, "-") + 1, Len(ftmp) - InStrRev(ftmp, "-"))
'// 開啟 objStream
objStream.Open
objStream.LoadFromFile fpath
'// 讀入檔案內容
ftmp = objStream.ReadText
'// 關閉 objStream
objStream.Close
'// 替換字串
ftmp = Replace(ftmp, "$ID", sid, 1, -1, 1)
ftmp = Replace(ftmp, "$Name", sname , 1, -1, 1)
ftmp = Replace(ftmp, "%Name", sname, 1, -1, 1)
ftmp = Replace(ftmp, "$CAT", scat, 1, -1, 1)
'// 設定存檔路徑與檔名
fpath = Mid(fpath, 1, InStrRev(fpath, ".") - 1) & ".html"
objStream.Open
objStream.WriteText ftmp
'// 輸出檔案
objStream.SaveToFile fpath, 2
objStream.Close
Next
--------8<------------- (複製虛線內文字另存為 .vbs)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.46.87
推
06/27 02:19, , 1F
06/27 02:19, 1F
→
06/27 02:19, , 2F
06/27 02:19, 2F
推
06/27 04:09, , 3F
06/27 04:09, 3F
→
06/27 04:12, , 4F
06/27 04:12, 4F
推
06/27 13:00, , 5F
06/27 13:00, 5F
推
06/27 13:02, , 6F
06/27 13:02, 6F
已經另外修正好了,請重新複製一次虛線內檔案,存檔使用即可。
此次,會直接以 UTF-8 來讀寫檔案本身,所以不用在另外轉檔。
※ 編輯: hpo14 來自: 123.204.46.87 (06/27 14:58)
推
06/27 15:13, , 7F
06/27 15:13, 7F
推
06/27 16:54, , 8F
06/27 16:54, 8F
推
06/27 18:38, , 9F
06/27 18:38, 9F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
EZsoft 近期熱門文章
PTT數位生活區 即時熱門文章