将“。”替换为“_”除了使用VBScript的扩展名

问题描述 投票:0回答:1

我找到了以下代码:

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。

是否可以对我的代码进行调整以使其成为可能?

vbscript rename file-rename
1个回答
3
投票

仅替换文件的基本名称中的点,而不是整个名称,然后添加回扩展名并重命名。

sName = Replace(fso.GetBaseName(fil.Name), ".", "_")
fil.Name = sName & "." & fso.GetExtensionName(fil.Name)
© www.soinside.com 2019 - 2024. All rights reserved.