应用场景:希望实现将数个文件拖动到一个图标,将这数个文件重命名,重名文件自动编号。
实现方法:桌面新建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困难。