應用場景:希望實現將數個文件拖動到一個圖標,將這數個文件重命名,重名文件自動編號。
實現方法:桌面新建txt文件,複製下方代碼,保存並更改擴展名爲.vbs.
'將vip_word值改爲你的目標
vip_word = "a"
Set fso = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1
oldname = objArgs(I)
folder = fso.GetParentFolderName (objArgs(I))
ExtensionName = fso.GetExtensionName(objArgs(I))
'根據你所更改的重名文件數量,修改max_number
max_number=1000
for m = 1 to max_number
'根據需要更改重名文件序列號,這裏是從001到999
if m<10 then
s_n = "00"&CStr(m)
elseif m>=10 and m<100 then
s_n = "0"&CStr(m)
else
s_n = CStr(m)
end if
newname = folder&"\"& vip_word & s_n &"."&ExtensionName
if fso.FileExists(newname) =0 then
'WScript.Echo oldname,newname
fso.MoveFile oldname,newname
exit for
end if
next
Next
Set fso = Nothing
其中,下段代碼實現了腳本從文件集中獲得參數。文件集拖入圖標,返回了一個Arguments對象,遍歷它可以得到拖入圖標的文件的路徑字符串。
Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1
wscript.echo objArgs(I)
next
我在用vbs之前嘗試用.bat文件處理,語法和編寫調試都比vbs困難。