如何在vbscript中重命名具有相同扩展名的不同命名文件

How to rename different named file with same extension in vbscript

我正在尝试将一个文件从“.bml”扩展名重命名为“.xml”。由于我指定了路径和文件,因此我能够使用以下代码为一个文件重命名 name.My 问题是在该文件夹中,会有更多名称不同但具有相同“.bml”扩展名的文件,我想重命名该文件夹中的所有文件。因为下面的代码将是静态的,因为我指定 filename.Any 非常感谢帮助

文件在文件夹中的外观示例:

Test.bml

vbscirpt.bml

uft.bml

Set FSO=Createobject ("Scripting.FileSystemObject")
    strfile="D:\ExportedXml\Test.bml"
    strrename="D:\ExportedXml\Test.xml"
    If FSO.FileExists(strfile) Then
        FSO.MoveFile strfile,strrename
    End If
    Set FSO=nothing

以上代码可以将Test.bml替换为Test.xml。

使用For Each loop to processing files and Regular Expressions更改格式。

试试这个方法:

Set fso=Createobject("Scripting.FileSystemObject")
Set objRegEx = New RegExp

FolderName = "D:\ExportedXml\"
Set objFolder = fso.GetFolder(FolderName)
Set objFileCol = objFolder.Files
objRegEx.Pattern = "\.bml$"
objRegEx.IgnoreCase = True

For Each objFile In objFileCol
    If objRegEx.Test(objFile.Name) Then
        NewFileName = objRegEx.Replace(objFile.Name, ".xml")
        fso.MoveFile objFile, FolderName & NewFileName
    End If
Next

虽然已经回答了这个问题,但另一种方法是使用批处理 ren 命令的强大功能来立即更改文件扩展名。

Set objShell = CreateObject("WSCript.shell")
strPath = "D:\Downloads\"
objShell.Run "cmd /k cd " & strPath & " & ren *.bml *.xml", 0, True