пакетное переименование файлов в VBScript - PullRequest
1 голос
/ 01 февраля 2011

У меня есть группа файлов, которые названы так (слово может быть любым словом или цифрами):

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

1 Ответ

3 голосов
/ 01 февраля 2011

Передайте путь к папке, которую вы хотите обработать, в качестве первого аргумента этого скрипта.Возможно, вам придется настроить регулярное выражение для ввода.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...