Vbscript 使用VBS搜索关键字并重命名整个文件

Vbscript 使用VBS搜索关键字并重命名整个文件,vbscript,Vbscript,我花了不少时间四处看看。我确实找到了一个非常接近我所寻找的方法,但它取代了关键字 Dim sName Dim fso Dim fol ' create the filesystem object Set fso = WScript.CreateObject("Scripting.FileSystemObject") ' get current folder Set fol = fso.GetFolder("F:\Downloads") ' go thru each file

我花了不少时间四处看看。我确实找到了一个非常接近我所寻找的方法,但它取代了关键字

Dim sName
Dim fso
Dim fol

' create the filesystem object
 Set fso = WScript.CreateObject("Scripting.FileSystemObject")

  ' get current folder
  Set fol = fso.GetFolder("F:\Downloads")

   ' go thru each files in the folder
   For Each fil In fol.Files
 ' check if the file name contains underscore
If InStr(1, fil.Name, "[wizardry] tv show bob - 13") <> 0 Then
' replace underscore with space
sName = Replace(fil.Name, "[wizardry] tv show bob - 13", "tv show bob S03E13")
' rename the file
fil.Name = sName
End If
Next

 ' echo the job is completed
 WScript.Echo "Completed!"
Dim sName
模糊fso
昏暗的
'创建文件系统对象
设置fso=WScript.CreateObject(“Scripting.FileSystemObject”)
'获取当前文件夹
Set fol=fso.GetFolder(“F:\Downloads”)
'浏览文件夹中的每个文件
对于以下文件中的每个文件
'检查文件名是否包含下划线
如果指令(1,文件名,“[Wizarry]电视节目bob-13”)为0,则
'将下划线替换为空格
sName=替换(文件名,“[魔法]电视节目bob-13”,“电视节目bob S03E13”)
'重命名文件
fil.Name=sName
如果结束
下一个
'回显作业已完成
Echo“已完成!”
但正如我所说,唯一的问题是它会重新拼贴关键字。我希望它用我想要的替换整个文件名

大多数文件都会有一个组标记,如下所示:[魔法]电视节目bob-13

我想确保组标记已消失,以便我可以实际复制文件。除非有办法提取我重命名的当前文件的文件名


非常感谢您的帮助。

我想您需要用原始扩展名生成一个新名称,而不是替换?如果没有,请提供更多详细信息。

Dim sName
Dim fso
Dim fol
Dim fil
Dim ext

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder("F:\Downloads")

For Each fil In fol.Files
    'may need to specify a comparison
    If InStr(1, fil.Name, "[wizardry] tv show bob - 13", vbTextCompare) <> 0 Then
        ext = fso.GetExtensionName(fil)
        If Len(ext) > 0 Then ext = "." & ext
        sName = "tv show bob S03E13" & ext
        fil.Name = sName
    End If
Next

WScript.Echo "Completed!"
Dim sName
模糊fso
昏暗的
暗色胶片
暗分机
设置fso=WScript.CreateObject(“Scripting.FileSystemObject”)
Set fol=fso.GetFolder(“F:\Downloads”)
对于以下文件中的每个文件
'可能需要指定一个比较
如果指令(1,文件名,“[Wizard]电视节目bob-13”,vbTextCompare)为0,则
ext=fso.GetExtensionName(fil)
如果Len(ext)>0,则ext=“.”和ext
sName=“电视节目bob S03E13”&ext
fil.Name=sName
如果结束
下一个
Echo“已完成!”

Ma-man!很好用!然而,愚蠢的问题是,模糊的线条需要存在吗?如果我想在混合中加入更多的方程式呢?(E12、E11等)谢谢:D另外,你认为有没有办法复制找到的文件,然后粘贴重命名?我目前使用的是:如果(objFSO.FileExists(“D:\TV Shows\TV\TV show S01E02.mkv”)),那么Else objFSO.CopyFile“D:\Downloads[tracker]TV show-02[1080p].mkv”,“D:\TV Shows\TV\TV show S01E02.mkv”结束,如果只是想知道这是否可能,因为该文件来自一个洪流,它在仍然加载到torrent时无法重命名program@dkblackhawk不客气<代码>尺寸行不是强制性的,除非您将
选项Explicit
设置为on。请参阅:如果解决方案有效,请参阅:并欢迎使用堆栈溢出!请随时提出新问题,而不是在这里以“评论”的形式提问:)啊,我不知道我必须提交另一个问题。那是我的错,谢谢!