The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Имена файлов из koi8-r в win1251"
Отправлено lavr, 21-Апр-05 18:31 
>В общем, наваял скрипт perl, использует программу iconv:
>
>----------
>#!/usr/bin/perl
>
>use strict;
>
>my $path = @ARGV[0];
>my $cfrom = $ARGV[1];
>my $cto = $ARGV[2];
>my $file = "";
>my $name = "";
>my $newname = "";
>
>$path =~ s|/$||;
>
>foreach $file ( sort { ( $b =~ s|/|/|g ) <=> ( $a =~ s|/|/|g ) } `find $path -regex "$path/.*" -pri
>nt` ) {
>   chomp $file;
>   $file =~ m|(.+/)(.+)$|;
>   $path = $1;
>   $name = $2;
>   $newname = `echo "$name" | iconv -f $cfrom -t
>$cto`;
>   chomp $newname;
>   rename ( "$path$name", "$path$newname" );
>   print "$path $name -> $newname\n";
>}
>----------
>
>параметры в командной сторке:
>1 - путь
>2 - из какой кодировки (KOI8-R, CP1251, и т.д.)
>3 - в какую кодировку (KOI8-R, CP1251, и т.д.)
>
>сортировка в цикле foreach предназначена для того, чтобы сначала переименовывались файлы самые
>глубокие в дереве каталогов


а сожрет он имена файлов с пробелами и/или спецсимволами?

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру