批处理文件在vbscript中重命名

时间:2011-02-01 00:43:03

标签: vbscript

我有一组这样命名的文件(单词可以是任何单词或数字):

Word word-word word word Floor B2342 Word Word-word.pdf
Word word-word word Floor: B-2342 Word Word-word.pdf
Word word- Floor C43 Word Word.pdf
Word word word- Floor- E2AD342 Word Word.pdf

我想重命名文件夹中的所有内容,使其只有在Floor下面的组...您可以指望Floor总是在文件名中,以及我想要跟在地板上的内容。

B2342.pdf
B-2342.pdf
C43.pdf
E2AD342.pdf

1 个答案:

答案 0 :(得分:3)

将要处理的文件夹的路径作为此脚本的第一个参数传递。您可能需要调整输入的正则表达式。

Set expr = New RegExp
Set fs = CreateObject("Scripting.FileSystemObject")
Set fpath = fs.GetFolder(WScript.Arguments(0))

expr.Pattern = "Floor\S*\s+([^\s.]*)"

For Each fspec In fpath.Files
    Set matches = expr.Execute(fspec.Name)
    If matches.Count = 0 Then
        WScript.StdErr.WriteLine "Invalid file name " & fspec.Name
    Else
        fspec.Move fspec.ParentFolder & "\" & matches(0).Submatches(0) & ".pdf"
    End If
Next