Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Массовое переименование файлов со счётчиком.

Ответить
Настройки темы
VBS/WSH/JS - Массовое переименование файлов со счётчиком.

Пользователь


Сообщения: 105
Благодарности: 2

Профиль | Отправить PM | Цитировать


Есть большое количество текстовых файлов в папке.
Как лучше и быстрее переименовать такое кол-во файлов средствами .vbs
Можно и .bat, но первое вроде бы быстрее работает.
Чтобы новые имена были от 1 и выше,в формате с одной цифрой.(т.е. не 01,или 001, а 1).

Отправлено: 16:28, 24-10-2020

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


megaloman, а, ну да — можно сразу туда.

Цитата megaloman:
Кстати, в vbs пришлось делать именно Move, переименовать файл я не умею. »
Например:
Код: Выделить весь код
objFile.Name = strNewName
В самой библиотеке ошибка в описании, что данное свойство только для чтения:
Цитата:
Property Name As String

Get name of file
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:24, 25-10-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


Iska, Вы правы, почему-то ранее я об это спотыкался, пробовал и у меня не получалось.
vbs c переименованием
Код: Выделить весь код
MyDir = "Z:\Soft_In"
Ext = "txt"

MyMask = "^.*\." + Ext + "$"

Set Reg = CreateObject("VBScript.RegExp")
Reg.IgnoreCase = True
Reg.Pattern = MyMask

With CreateObject("Scripting.FileSystemObject")
    Set Files = .GetFolder(MyDir).Files

    For Each File In Files
        Filename = File.Name
        If Reg.Test(Filename) Then
            File.Name = Filename + ".~~~tmp~~~"
        End If
    Next

    Reg.Pattern = "^.*\.~~~tmp~~~$"

    N = 0
    For Each File In Files
        Filename = File.Name
        If Reg.Test(Filename) Then
            N = N + 1
            File.Name = CStr(N) + "." + Ext
        End If
    Next
End With

MsgBox "Done"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:11, 25-10-2020 | #12


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Код: Выделить весь код
$g = Get-ChildItem X:\path\*.txt | Group-Object {!($_.Basename -as [UInt32])}
[Linq.Enumerable]::Zip([String[]]($g[1].Group.FullName), [UInt32[]](
   (1..$g.Group.Length).Where{$g[0].Group.Basename -notcontains $_}
), [Func[String, UInt32, ScriptBlock]]{
   Rename-Item $($args[0])" "$($args[1]).txt"
})
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:22, 25-10-2020 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Массовое переименование файлов со счётчиком.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Массовое перемещение файлов из списка files.txt ANIMka Хочу все знать 7 19-12-2018 05:13
CMD/BAT - [решено] Массовое переименование, отнимая слова от текущего имени ArchyA Скриптовые языки администрирования Windows 8 19-07-2018 18:59
CMD/BAT - Переименование файлов Verilog Скриптовые языки администрирования Windows 4 10-12-2014 14:55
CMD/BAT - Переименование файлов. gen0m.rsw Скриптовые языки администрирования Windows 1 15-10-2010 19:15
CMD/BAT - [решено] AD массовое переименование пользователей toperx Скриптовые языки администрирования Windows 9 24-07-2009 12:46




 
Переход