2011-02-01 199 views
1

重命名我有一組文件被命名爲這樣的(字可以是任何文字或數字):批處理文件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 

我想要的文件夾中的一切重命名爲只擁有組遵循樓層...您可以指望樓層始終處於文件名稱中,以及我想要保持在樓層後面的內容。

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

那麼問題是什麼?你不能期望有人爲你寫代碼。試一試,然後在這裏發帖,如果你遇到問題或有特定的問題。 – BenV 2011-02-01 02:11:43

回答

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 
相關問題