Переименовать большое количество текстовых файлов (.txt)

M
На сайте с 14.03.2012
Offline
8
1380

Переименовать большое количество текстовых файлов (.txt)

Подскажите как переименовать большое количество текстовых файлов (.txt) с учетом последующего формирования названия с первой строки.

Побывал:

В Total Commander так и не понял как задать переменную для замены первой строки в название файла

За TextPipe промолчу :crazy:

RenameMaster есть функция переименования (например 1-40) но эта функция применима ко всем файлам, поэтому некоторые названия усечены.

zexis
На сайте с 09.08.2005
Offline
388
#1

сделать понятной постановку задачи

Нанять админа.

Вы даже ОС не сообщили.

Можно скрипт написать, который переименует как угодно.

G
На сайте с 01.09.2010
Offline
49
#2

Я для таких целей использую программу ReNamer.

Попробуйте, вдруг это оно самое.:)

Позиции своих сайтов я снимаю здесь (http://goo.gl/1SQ1Sl)! А тут (http://goo.gl/GfReqm) я чекаю доноров. СМС рассылка (http://smstoyou.sms.ru/) по самой низкой цене.
M
На сайте с 14.03.2012
Offline
8
#3
glafeara:
Я для таких целей использую программу ReNamer.
Попробуйте, вдруг это оно самое.:)

Подскажите пожалуйста, как в ReNamer установить ПРАВИЛО переименовать файл .txt, c учетом того, чтобы названия бралось с первой строки переименованного документа.

Пример:

файл название: 001.txt

первая строка файла: Правила работы

нужно чтобы файл - 001.txt, получил название - Правила работы.txt

Спасибо!

neoks
На сайте с 17.03.2010
Offline
152
#4

Приведите лучше точный пример ваших файлов (этак штук 10) и как они должны будут выглядеть в конце.

Mad_Man
На сайте с 10.11.2008
Offline
162
#5
mironaqk:
Подскажите пожалуйста, как в ReNamer установить ПРАВИЛО переименовать файл .txt, c учетом того, чтобы названия бралось с первой строки переименованного документа.
Пример:
файл название: 001.txt
первая строка файла: Правила работы
нужно чтобы файл - 001.txt, получил название - Правила работы.txt
Спасибо!

Boost + С++ в помощь.


/* Поиск файлов в папке */

void find(const char *search_dir)
{
typedef std::vector<boost::filesystem::path> file_vector;
file_vector file_list;

boost::filesystem::path directory(search_dir);

if (boost::filesystem::exists(directory) && boost::filesystem::is_directory(directory))
{
std::copy(boost::filesystem::directory_iterator(directory), boost::filesystem::directory_iterator(),
std::back_inserter(file_list));
}

std::sort(file_list.begin(), file_list.end());

/* Найденные файлы теперь в file_list */
}


/* Чтение первой строки */

std::string read(const char *file_name)
{
std::string line;
std::ifstream myfile;

myfile.open(file_name);

if (myfile.good())
{
std::getline(myfile, line);
}

myfile.close();

return line;
}


boost::filesystem::rename();


????????


PROFIT!!111
Эльф Торговец
На сайте с 19.09.2012
Offline
23
#6

PHP, положить в папку с txt файлами и запустить.


<?php

$files = glob("*.txt");
foreach ($files as $key => $value) {
$lines = file($value);
$name = trim($lines[0]);
$value = trim($value);
rename($value, $name . '.txt');
}

?>
M
На сайте с 14.03.2012
Offline
8
#7

ВСЕМ кто откликнулся огромное спасибо!

ОСОБЕННО СПАСИБО Эльфу Торговцу!

Эльф Торговец
На сайте с 19.09.2012
Offline
23
#8
mironaqk:
ВСЕМ кто откликнулся огромное спасибо!
ОСОБЕННО СПАСИБО Эльфу Торговцу!

Не за что. ;)

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#9

Можно и без PHP

Юзаю Ant Renamer

Есть регулярки и всё наглядно и шустренько :)

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий