下面是我寫得一個VBScript程式, 檔名 delold.vbs
控制方式:delold 天數 目錄 檔名尾
用途是刪除指定目錄下超過n天的程式
目前功能大致正常,可是不支援萬用字元跟子目錄
萬一遇到刪不掉的就跳過
其他的問題先不提,請問我要如何讓輸入第三引數是萬用字元
而不是用現有的判斷: right(檔名, 長度) = 檔名尾
======================以下程式開始======================
Option Explicit
Dim args
Set args = wscript.arguments
if not args.count = 3 then
wscript.echo "delold 天數 目錄 檔名尾" &_
vbcrlf & vbcrlf & "ex. delold 7 ""D:\Temp"" "".bak""" &_
vbcrlf & "刪除超過七天前在D:\Temp下的*.bak檔案" &_
vbcrlf & "不支援萬用字元及子目錄" &_
vbcrlf & vbcrlf & "檔名尾可用 """" 指定為目錄下的所有檔案"
elseif not isnumeric(args(0)) then
wscript.echo "無效的天數輸入"
elseif args(0) < 1 then
wscript.echo "無效的天數輸入"
else
'判斷跟輸入結束,主要工作程式開始
Dim days, extlen, fc, ff
days=int(now() - args(0))
Set fc = CreateObject("Scripting.FileSystemObject")_
.GetFolder(args(1)).Files
extlen=Len(args(2))
on error resume next
for each ff in fc
if right(ff.Name, extlen) = args(2) and _
ff.DateLastModified < days then ff.delete
next
end if
--
簡答題: 請簡述魔劍的使用及保養方法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.180.163