代替 ”。”带有“_”,但带有 VBScript 的扩展除外
Replace "." with "_" except for extension with VBScript
我找到了以下代码:
Dim sName
Dim fso
Dim fol
'create the filesystem object
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
'get current folder
Set fol = fso.GetFolder(".")
'go thru each file in the folder
For Each fil In fol.Files
'check if the file name contains dot
If InStr(1, fil.Name, ".") <> 0 Then
'replace dot with underscore
sName = Replace(fil.Name, ".", "_")
'rename the file
fil.Name = sName
End If
Next
'echo the job is completed
WScript.Echo "Completed!"
但是,运行 这个 .vbs 文件也更改了扩展名“.”。
例如我想将 file.a.1.pdf 重命名为 file_1_a.pdf 但它重命名为 file_1_a_pdf.
是否可以对我的代码进行一些调整以实现这一点?
仅替换文件基本名称中的点,而不是整个名称,然后添加回扩展名并重命名。
sName = Replace(fso.GetBaseName(fil.Name), ".", "_")
fil.Name = sName & "." & fso.GetExtensionName(fil.Name)
我找到了以下代码:
Dim sName
Dim fso
Dim fol
'create the filesystem object
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
'get current folder
Set fol = fso.GetFolder(".")
'go thru each file in the folder
For Each fil In fol.Files
'check if the file name contains dot
If InStr(1, fil.Name, ".") <> 0 Then
'replace dot with underscore
sName = Replace(fil.Name, ".", "_")
'rename the file
fil.Name = sName
End If
Next
'echo the job is completed
WScript.Echo "Completed!"
但是,运行 这个 .vbs 文件也更改了扩展名“.”。
例如我想将 file.a.1.pdf 重命名为 file_1_a.pdf 但它重命名为 file_1_a_pdf.
是否可以对我的代码进行一些调整以实现这一点?
仅替换文件基本名称中的点,而不是整个名称,然后添加回扩展名并重命名。
sName = Replace(fso.GetBaseName(fil.Name), ".", "_")
fil.Name = sName & "." & fso.GetExtensionName(fil.Name)