1 (изменено: clonkennedy, 2016-04-13 19:46:25)

Тема: VBS: Переименования группы файлов

Здравствуйте, нужен скрипт переименования группы файлов с уже определенным именем, на имя (Дата создания файла). В имени файла изначально будут пробелы и русские символы.
папка12\Дом
папка14\Дом
папка15\Дом
скрипт

переименование
папка12\11042015
папка14\11042015
папка15\11042015
скрипт

Т.е. файлы будут создаваться каждый день в разных папках, но с одним именем и их переименовывать, плюс путь можно сделать так что бы не указывать жесткий путь к файлам.
Спасибо всем кто откликнется.

2

Re: VBS: Переименования группы файлов

clonkennedy
Укажите, как положено, префикс языка в заголовке.
Потом дайте ответы на следующие вопросы:
1) Имена папок предопределены в неком списке или учитываются все, что будут в каталоге со скриптом?
2) Имя файла всегда одно или каждый раз его нужно указывать?
3) Почему конечное имя - это дата без точек и расширения?

3

Re: VBS: Переименования группы файлов

Flasher
1. Да имена папок предопределены их количество под вопросом только.
2. Имя файла в папке одно и тоже. Файл создается кждый день, что-то типо отчета, только с одним и тем же именем, вот для этого скрипт и нужен.
3. Файл pdf
5503\Новый отчет.pdf
5504\Новый отчет.pdf
5505\Новый отчет.pdf
5506\Новый отчет.pdf
5507\Новый отчет.pdf

Что бы программа не перезаписывала отчет и нужен скрипт.

4

Re: VBS: Переименования группы файлов

clonkennedy

List = "FoldersNames.txt"   ' список с именами папок
OldName = "Новый отчет.pdf" ' старое имя файла

NewName = Replace(Date, ".", "") & ".pdf"
With CreateObject("Scripting.FileSystemObject")
  Dir = .GetAbsolutePathName("") & "\"
  Set List = .OpenTextFile(List)
  Do : FolderName = Trim(List.ReadLine)
    If FolderName <> "" Then
      Old = Dir & .BuildPath(FolderName, OldName)
      If .FileExists(Old) And Not .FileExists( _
         Dir & .BuildPath(FolderName, NewName)) Then _
         .GetFile(Old).Name = NewName
    End If
  Loop Until List.AtEndOfStream
End With