Skip navigation

OK2RKB | ENG · GER · RUS · FRA · POL · HUN · SPA | Main · Pos · Neg · IE+ · IE- · Prn · Pda · CSSoff

OK2PPK » Texty » Programy » Renamer | ---

Renamer

offline program

Renamer - odstraňovač diakritiky z názvu souboru nebo adresáře

v1.1 (2018/9), konzolová aplikace Win32Api

autor OK2PPK

Program Renamer přejmenuje zadaný soubor nebo adresář. Z názvu odstraní diakritiku a změní ostatní znaky tak, aby název obsahoval pouze znaky a-z, 0-9, tečka, pomlčka a podtržítko. Po převodu se dále nahradí skupiny více znaků podtržítko nebo pomlčka jediným znakem, skupiny znaků pomlčka a podtržítko nebo podtržítko a pomlčka jediným znakem pomlčka, a nakonec se nejprve u celého jména i s příponou a potom i u samotného jména bez přípony ořežou případné úvodní nebo koncové znaky pomlčka nebo podtržítko (! název adresáře se zpracováva při tomto ořezu stejně jako název souboru, tj. zkouší se také rozdělit na název a příponu). Pokud po provedených změnách zůstane z názvu pouze prázdný řetězec, nahradí se jedním znakem podtržítko. Upravuje se pouze část odpovídající názvu a příponě souboru, část odpovídající cestě se nemění.

Pokud se upravený název shoduje s původním názvem nebo soubor (adresář) určený původním názvem neexistuje, tak se program ukončí bez pokusu o změnu. Pokud se nový a starý název liší pouze ve velikosti písma, tak se rovnou provede přejmenování. V ostatních případech se zkouší, zda soubor nebo adresář s novým názvem již existuje, a pokud ano, tak se nový název doplní o pomlčku a číslo (počáteční hodnota 1) a test se opakuje, při opětovném neúspěchu se číslo postupně inkrementuje (maximálně do hodnoty 9999). Po nalezení neexistujícího jména se program pokusí zadaný soubor nebo adresář přejmenovat na nový název.

Zadaný název souboru nebo adresáře se očekává v kódování CP1250, případně při použití parametru cp852 lze použít kódování CP852. Parametr cp852 ale rozhoduje pouze o tom, jak bude převáděn původní název na nový z pohledu odstranění dikaritiky, původní název odkazující na soubor, který má být přejmenován, se nemění a je operačnímu systému předán vždy tak, jak byl obdržen. Použité kódování názvu tak musí odpovídat kontextu v jakém je program v operačním systému spuštěn a nastaveným znakovým sadám. Např. v mém případě u WIN XP a WIN7 při volání programu z nabídky start v Total Commanderu s parametry %P%N se předává název v CP1250, ale pokud program chci volat z dávkového souboru .bat, tak v dávkovém souboru musím název uvést v CP852, ale nesmím u programu renamer použít parametr cp852, protože při spuštění dávky dojde na konzoli k převodu parametru před jeho předáním programu renamer z kódování CP852 do CP1250.

Syntaxe:
  RENAMER ... vypíše nápovědu

  RENAMER soubor [cp852] ... přejmenuje soubor (nebo adresář)

  soubor ... jméno (případně i s cestou) souboru nebo adresáře, který má být
             přejmenován
  cp852 .... jméno je zadané v kódování cp852, není-li parametr uveden, tak
             se předpokládá použití kódování cp1250

Stažení: renamer.exe - program v1.1 (16kB), renamer.txt - popis v1.1 (1kB)

Změny:

v1.0 2018/8 - výchozí verze

v1.1 2018/9 - doplněno o kódování cp852 a hledání neexistujícího jména rozšířeno i na přejmenovávání adresářů

Nahoru