Èí¼þ¿ª·¢Åàѵ°à >> ±à³Ì¿ª·¢ >> VbScript
vbs 文件æ“�作集å�ˆä»£ç � |
|
¡¡¡¡±¾ÎıêÇ©£ºvbs 文件æ“�作 下é�¢æ˜¯æˆ‘写的一ä¸?vbs 文件ï¼?/p> rename.vbs rename.vbs
'关键å—é…�置文件地å�€
Const config = "E:cleandatakey.txt"
'�检查的文件�
Const dir = "D:Loghtml"
'日志ä¿�å˜è·¯å¾„
Const LogDir = "E:cleandataLog"
'全局对象
set fso=createobject("scripting.filesystemobject")
Dim keywordList(10000)
Rem : =========== �动主程�
Dim starttime , Endtime
starttime = Now
Call main()
endtime = Now
Set fso = Nothing
msgbox "æ�å–œï¼�æ“�作已完æˆ�。时间从ï¼? & starttime & " åˆ?" & endtime ,4096,"文件é‡�命å�?
Rem : =========== 主程�
Sub main()
wscript.echo "开始。。� & Now
Call GetKeyWord()
Call getFiles(dir)
End Sub
Rem : =========== 读��置文件
Sub GetKeyWord()
set sdir = createobject("scripting.dictionary")
set file = fso.opentextfile(config)
do while file.atendofstream<>true
m=m+1
sdir.add m,file.readline
Dim word
word = sdir(m)
' wscript.echo word
If Len(Trim(word) )>0 Then
KeywordList(m)= word
End If
Loop
file.close
Set file = Nothing
End Sub
Rem : =========== 获�文件列表
Sub getFiles(path)
Set folder = fso.GetFolder(path)
Set subfolder = folder.subfolders
Set file = folder.files
For Each s_file In file
'wscript.echo s_file.path
checkWord s_file.path
Next
For Each s_subfolder In subfolder
getFiles(s_subfolder.path) '递归调用
Next
End Sub
Rem : =========== 比较é…�ç½®æ–‡ä»¶ï¼Œåˆ¤æ–æ˜¯å�¦åŒ…å�«å…³é”®å—
Sub checkWord(path)
'wscript.echo path
Dim content , file
Set file = fso.opentextfile(path, 1, false)
content = file.readall
file.close
Set file = Nothing
For i=0 To UBound(keywordList)
word = keywordList(i)
If InStr(content, word )>0 And Len(word)>0 Then
wscript.echo path & " 已匹�到� & word
' Set file = Nothing
RenameSubPage path
Exit For
End If
Next
End Sub
Rem : =========== 将文件�命�
Sub RenameSubPage(path)
If fso.fileexists(path) =True Then
Dim target , ext
ext = ".bak"
target = path & ext
' ===== 方法一
fso.movefile path , target
' ===== 方法�
'Set f = fso.getfile( path)
'f.name = f.name & ext
'f.close
'Set f = Nothing
WriteLog target
End If
End Sub
Rem : =========== 处�日志
Sub WriteLog(strmsg)
Dim logtxt
logtxt = LogDir & "dellog-" & Year(Now) & "-" & Month(Now) & "-" & Day(Now) & ".txt"
Dim f
If fso.fileexists(logtxt) Then
Set f = fso.opentextfile(logtxt, 8 )
Else
Set f = fso.opentextfile(logtxt, 2, true)
End If
f.writeline strmsg
f.close
Set f = Nothing
' �����方法2
' Set objShell = CreateObject("Wscript.Shell")
' cmd = "%comspec% /k echo " & strmsg & " >> " & logtxt & " && exit"
' objShell.Run(cmd) ,vbhide
' 挂起å…�许,防æ¢åœ¨ä»»åŠ¡ç®¡ç�†å™¨é‡Œäº§ç”Ÿè¿‡å¤šçš?cmd.exe 进程 ,如果有多个进程,请ç”?taskkill /f /im cmd.exe å…³é—
' Set objShell = Nothing
Wscript.Sleep 5
End Subkey.txt 文件的内容:
å�³ä¸€è¡Œä¸€ä¸ªå…³é”®å— ã€?/p> 这是 VBS 版批é‡�é‡�命å�� 的一个改良版ã€?/p> rem 读å�–é…�置文件
Dim config
config = "conf.txt"
set fso=createobject("scripting.filesystemobject")
set a=createobject("scripting.dictionary")
set file=fso.opentextfile(config)
do while file.atendofstream<>true
m=m+1
a.add m,file.readline
src = a(m)
RenameSubPage src
loop
file.close
Set fso =Nothing
msgbox "�作已完� ,4096,"文件�命�
Sub RenameSubPage(strURL)
Dim path
For i=19 To 100
path = Replace(strURL , ".html", "_"& i & ".html")
If fso.fileexists(path) =True Then
target = path & ".tmp"
fso.movefile path , target
Else
' do nothing
End If
Next
End Sub 注释ï¼?conf.txt 文件内容如下ï¼?br />D:ac.html 到æ¤è¿™ç¯‡å…³äºŽvbs 文件æ“�作集å�ˆä»£ç �çš„æ–‡ç« å°±ä»‹ç»�到这äº?更多相关vbs 文件æ“�作内容请æ�œç´¢è„šæœ¬ä¹‹å®¶ä»¥å‰�çš„æ–‡ç« æˆ–ç»§ç»æµ�览下é�¢çš„ç›¸å…³æ–‡ç« å¸Œæœ›å¤§å®¶ä»¥å�Žå¤šå¤šæ”¯æŒ�脚本之家ï¼?/p> |