【发布时间】:2018-09-03 14:50:30
【问题描述】:
我有一个 vbscript,它生成一个包含六位数字的文件,然后如果文件已经存在,我想在末尾添加 0001、0002、0003。我想我在这里遗漏了一些非常明显的东西,因为我在桌面上放了一个测试文件 0000610001.doc,我的脚本应该弹出一条新消息,说 0000610002.doc。
FolderRoot="c:\users\mozleye\"
Subfolder="desktop"
ClCode="000061"
n=1
filename=FolderRoot & subFolder & "\" & CLCode
'Pad the filename with leading zeros after the client number
Select Case Len(n)
Case 1
filename=filename & "000"
Case 2
filename=filename & "00"
Case 3
filename=filename & "0"
End Select
filename=filename & n & ".doc"
MsgBox(filename)
'If the file name exists then keep adding 1 to n, regenerating the file name until the file name we
'have generated no longer exists
Do While File objFSO.FileExists(filename)
MsgBox("Found a match!")
filename=FolderRoot & subFolder & "\" & CLCode
Select Case Len(n)
Case 1
filename=filename & "000"
Case 2
filename=filename & "00"
Case 3
filename=filename & "0"
End Select
n=n+1
filename=filename & n & ".doc"
MsgBox("New filename :" & filename)
Loop
MsgBox("All done")
【问题讨论】:
-
我不是 Vb 专家,但如果没有匹配项,我会尝试使用 \\ 作为反斜杠
标签: vbscript file-exists