Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2015, 12:03   #1
lisa999
 
Регистрация: 13.04.2014
Сообщений: 4
По умолчанию Массовое переименование файлов.

На локальном диске имеется большое количество файлов с именами 1.txt 1a.txt 57e.txt и т.д. Мне их нужно переименовать все разом. Также имеется csv файл где в первой колонке указан список этих фалов , а во второй колонке список с новыми именами этих файлов. С помощью чего получится такое организовать? Сам csv могу переделать под любой другой формат если потребуется.
lisa999 вне форума Ответить с цитированием
Старый 02.12.2015, 12:54   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

мне проще написать программку, чем искать и тем более подгибать найденный универсальный вариант под данную конкретную задачу)
Smogg вне форума Ответить с цитированием
Старый 02.12.2015, 13:08   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Я лично генерю себе cmd файл с отдельными ren командами для каждого файла.
Собственно, если первой колоной вставить словно ren и сохранить CSV файл исползуя знак табуляции в качестве разделителя то получим такой готовый файл.
waleri вне форума Ответить с цитированием
Старый 02.12.2015, 13:38   #4
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Собственно, если первой колоной вставить словно ren и сохранить CSV файл исползуя знак табуляции в качестве разделителя то получим такой готовый файл.
красиво )
Smogg вне форума Ответить с цитированием
Старый 02.12.2015, 13:52   #5
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Простой Vbs скрипт поможет сделать работу.

Вид csv должен быть такой:
1.txt,100.txt
2.txt,102.txt
3.txt,103.txt

Где 1.txt старое имя, а 100.txt новое имя, без пробелов, без пустых строк.
Имя у меня name.csv, надо в коде изменить на своё и реальный путь к файлу!
Запускать надо в папке с файлами, которые переименовываем.

Сам код:
Код:
filepath="C:\name.csv" ' Полный путь и имя к файлу с именами
Set Fso = CreateObject("Scripting.FileSystemObject")
Set inputFile = Fso.OpenTextFile(filepath, 1, True) '
Dim fields
Do Until inputFile.AtEndOfStream  
    fields = Split(inputFile.Readline,",") 'считываем в массив старое и новое имя
    Set f = Fso.GetFile("C:\" & fields(0))
    f.Name = fields(1)
Loop
inputFile.close
msgbox "Насяльника, работа сделанама!"
Этот код надо скопировать в блокнот и сохранить в папку с файлами с именем Rename_file.vbs, запустить на исполнение, ждать результат.
kvitaliy вне форума Ответить с цитированием
Старый 02.12.2015, 14:42   #6
lisa999
 
Регистрация: 13.04.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от kvitaliy Посмотреть сообщение
Простой Vbs скрипт поможет сделать работу.

Вид csv должен быть такой:
1.txt,100.txt
2.txt,102.txt
3.txt,103.txt

Где 1.txt старое имя, а 100.txt новое имя, без пробелов, без пустых строк.
Имя у меня name.csv, надо в коде изменить на своё и реальный путь к файлу!
Запускать надо в папке с файлами, которые переименовываем.

Сам код:
Код:
filepath="C:\name.csv" ' Полный путь и имя к файлу с именами
Set Fso = CreateObject("Scripting.FileSystemObject")
Set inputFile = Fso.OpenTextFile(filepath, 1, True) '
Dim fields
Do Until inputFile.AtEndOfStream  
    fields = Split(inputFile.Readline,",") 'считываем в массив старое и новое имя
    Set f = Fso.GetFile("C:\" & fields(0))
    f.Name = fields(1)
Loop
inputFile.close
msgbox "Насяльника, работа сделанама!"
Этот код надо скопировать в блокнот и сохранить в папку с файлами с именем Rename_file.vbs, запустить на исполнение, ждать результат.
сделал по вашему. Ошибка вылезла. строка 7 символ 5 ошибка - файл не найден. и код 800A0035
Какой именно файл не найден?
lisa999 вне форума Ответить с цитированием
Старый 02.12.2015, 15:22   #7
lisa999
 
Регистрация: 13.04.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от lisa999 Посмотреть сообщение
сделал по вашему. Ошибка вылезла. строка 7 символ 5 ошибка - файл не найден. и код 800A0035
Какой именно файл не найден?
Сам разобрался. Большое Вам спасибо за ценный совет.
lisa999 вне форума Ответить с цитированием
Старый 02.12.2015, 16:15   #8
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от lisa999 Посмотреть сообщение
Сам разобрался. Большое Вам спасибо за ценный совет.
Ну может кто ещё воспользуется, разъясню, что в этой строчке
Код:
Set f = Fso.GetFile("C:\" & fields(0))
"C:\" - тут должен быть реальный каталог, где файлы лежат.
Или вообще ни чего, если запуск из того же каталога где файлы для переименования:
Код:
Set f = Fso.GetFile(fields(0))
kvitaliy вне форума Ответить с цитированием
Старый 11.12.2015, 19:17   #9
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,810
По умолчанию

Вот. Делал для переименовки ахового количества файлов (ну, для покадровой обработки видео и всё такое). Нормально работает, если количество файлов не более 2000. то есть лучше разбить папку, где 60.000 файлов, на части. а заодно и отсортирует по параметрам, если надо (галочка уже стоит)
Вложения
Тип файла: rar SpisokFiles.rar (126.1 Кб, 25 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace на форуме Ответить с цитированием
Старый 12.12.2015, 08:40   #10
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

https://www.virustotal.com/ru/file/9...is/1449898458/

У скрипта такой проблемы нет

Последний раз редактировалось kvitaliy; 12.12.2015 в 08:44.
kvitaliy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пакетное переименование файлов Денис9 Общие вопросы Delphi 7 21.01.2013 00:02
массовое создание файлов cool_phenomus Общие вопросы C/C++ 2 30.06.2012 20:25
Переименование файлов Alergen2 Microsoft Office Access 1 01.11.2011 13:57
Массовое добавление файлов gusvovan Общие вопросы Delphi 1 06.10.2011 19:06
Массовое редактирование тхт файлов Tvitvi PHP 3 06.05.2010 20:51