我有一组这样命名的文件(单词可以是任何单词或数字):
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
答案 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