Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno hromadné premenovanie súborov

Ahoj, pozná niekto možnosť ako premenovať hromadne veľké množstvo súborov ak potrebujem vymeniť jeden konkrétny symbol zhruba uprostred každého názvu ale tento symbol sa v názve nachádza viac krát ale ja potrebujem nahradiť len tento jeden. Mám DoubleCommander a cez neho tieto veci zvyčajne robím ale tentokrát je to takého charakteru že zrejme v tomto nepôjde. Uvediem nižšie príklad čo vlastne chcem.

Názov: YYYYYYYYYYYYY takže potrebujem vymeniť vyznačený symbol. Každý súbor ho má na rovnakom mieste čiže existuje nejaká možnosť ako hromadne vymeniť u každého súboru v poradí šiesty symbol?

Řešení:

Předmět Autor Datum
Existuje ... např. můžeš napsat skript (třeba .vbs).
dsa 20.04.2024 18:47
dsa
Snažím sa ušetriť čas, ak sa pustím do tohto tak to bude trvať dlhšie pretože som len BFU :-) To už…
KMX 20.04.2024 18:53
KMX
raz som niečo podobne potreboval, robil som to cez toto: https://www.bulkrenameutility.co.uk/ dá s…
Qet01 20.04.2024 19:01
Qet01
Bulk rename pouzivam taky +1 Mozna pro nekoho po prvnim spusteni slozitejsi se zorientovat, ale umi…
HPET 20.04.2024 20:19
HPET
nahrad cely nazov, ak je zvysok rovnaky. DuroXFero nahrad za DuroYFero.
jjj 20.04.2024 19:02
jjj
Presne takto to častokrát robím ale v tomto prípade to nebolo možné pretože sa nebolo čoho chytiť ab…
KMX 21.04.2024 08:18
KMX
Flexible Renamer to umí, zvlášť pro soubory a pro foldery. Chvíli trvá se v tom vyznat, ale je to d…
Kyncl 20.04.2024 19:02
Kyncl
Total Commander to umí.
host 20.04.2024 19:20
host
+1
Hanyse.k 20.04.2024 21:49
Hanyse.k
Double Commander taky a líp!
mll 22.04.2024 12:42
mll
Jak líp?
host 22.04.2024 13:37
host
REM --- nahrada v pokus\abcdeXfgh.txt --- for /f %%i in ('dir pokus\*.* /b') do call :rename %%i go…
lední brtník 20.04.2024 20:51
lední brtník
Taky používám podobný způsob, ale nechám si nejdřív vypsat, co to bude dělat pro případ nějakých pro…
gilhad 20.04.2024 22:10
gilhad
Ďakujem všetkým za užitočné rady. Vybral som Bulk Rename Utility ktorý odporučil Qet01. Nerád inštal…
KMX 21.04.2024 08:23
KMX
Ona je tam i portable verze (bez instalace): https://www.bulkrenameutility.co.uk/Download.php#Downlo…
IQ37 21.04.2024 11:18
IQ37
Podle mě to neni nic, co by Double Commander neuměl. A umí to líp, než to uměl total commander se kt…
mll 22.04.2024 12:51
mll
Devět? Trochu jsi zaspal. Aktuální Total Commander 11.03. Syntaxi [N1:5] a regulární výrazy TC samo…
host 22.04.2024 13:39
host
Však taky total commander už léta nepoužívám a 9.něco byla poslední verze, kterou jsem stahoval a zř…
ml1 26.04.2024 14:51
ml1
Takže kritizuješ něco, o čem nic nevíš? [98512-prejmenovani-tc-png] poslední
host 26.04.2024 15:09
host
Takže sa to nakoniec dá aj priamo v DC. Skúsil som [N1:5] - [N7:-1] a funguje to. Dá sa to naklikať…
KMX 22.04.2024 21:40
KMX
Třeba Total Commander má wiki https://www.ghisler.ch/wiki/index.php/Multi-rename_tool
host 22.04.2024 22:07
host
V podstatě metodou "kouknu -vidím" a když vidím, že nevidím, tak se rozhlédnu. Podobně jako když chc…
gilhad 23.04.2024 00:49
gilhad
mezery v nazvu jsou zlo. cire zlo. ale slo by to opravit.
brum brum 23.04.2024 09:27
brum brum
To jsou, já to nepoužívám a kde se dá, tak opravuju, ale ono se na spoustě míst zase moc nedá (třeba…
gilhad 23.04.2024 13:01
gilhad
Hint>lze použít kaskádu přejmenování. Pokud jde double commander podobný totalcommanderu, šlo by pou…
tupolev 26.04.2024 09:11
tupolev

REM --- nahrada v pokus\abcdeXfgh.txt ---

for /f %%i in ('dir pokus\*.* /b') do call :rename %%i
goto end

:rename
 set soubor=%1
 set zacatek=%soubor:~0,5%
 set filtr=%soubor:~5,1%
 set konec=%soubor:~6%
 set nahrada=Y
 if "%filtr%"=="X" ren pokus\%soubor% %zacatek%%nahrada%%konec%
goto :eof

:end

batka leží nad adresářem "pokus" - jen proto, aby nezkoušela přejmenovat sama sebe. jde samozřejme ošetřit filtrem na příponu.
test nahrazovaného znaku ... if "%filtr%"=="X" ... není nutný, ale může se hodit.

Taky používám podobný způsob, ale nechám si nejdřív vypsat, co to bude dělat pro případ nějakých problémů a až pak to nechám provést


ls -1|sed 's/^\(.\{5\}\)a\(.*\)/mv "\0" "\1B\2"/'|grep "^mv "

ls -1|sed 's/^\(.\{5\}\)a\(.*\)/mv "\0" "\1B\2"/'|grep "^mv "|sh

Případně, pokud je toho hodně, tak to nejdřív nasypu do souboru, prohlédnu (případně upravím) a pak spustím ten soubor

Ďakujem všetkým za užitočné rady. Vybral som Bulk Rename Utility ktorý odporučil Qet01. Nerád inštalujem pre jednu vec nový SW ale tak spravil som výnimku. Podľa výsledkov a virustotal kontroly je tento SW bezpečný. Tak som to skúsil a síce je tam veľa možností ale netrvalo ani minútu aby som našiel presne čo som hľadal. Skvelé ušetrený čas zdĺhavým klikaním.

Podle mě to neni nic, co by Double Commander neuměl. A umí to líp, než to uměl total commander se kterým jsem dávno skončil (ovšem končil jsem na verzi 6, nyní je 9 takže nevylučuju, že došlo k nějakému vývoji).
Pokud je na stejném (třeba šestém) místě, dáte [N1:5] nový symbol [N7:-1] a je to. Jinak jde použít regulární výrazy (např (.{5})(.)(.*) nahraď za $1novýsymbol$3 je nutné zaškrtnout použít RegExpr a použít náhradu (obě políčka) jinak to tam ty dolary napíše místo aby za ně dosadil první a třetí element) ale na tohle je to kanón na vrabce.

Však taky total commander už léta nepoužívám a 9.něco byla poslední verze, kterou jsem stahoval a zřejmě nějakou dobu používal. Co jsem přešel na linux, tak jsem DC nahradil ony věčně "zkušební" verze TC na všech počítačích s windowsem právě DC. A uznávám, umí to, to jsem zapomněl zdůraznit, ale dotaz zněl na DC. Poslední roky jsem si zvyknul na DC a k TC se už moc vracet nechci.
TC taky uměl názvy uložit do souboru k úpravě, ze kterého se to potom mohlo načíst. Tam jsem to párkrát použil, v DC ani nevím, jestli ta možnost je (koukám je tam), dávno jsem to nepotřeboval, to otevírá taky nějaké možnosti.
Mě se třeba líbí v tom DC, jak se tam snadno dá potřebná část názvu označit. Vím, že TC to má taky, že se může část názvu označit, ale jen v rozsahu z:k počítáno od zažátku názvu, ale co když chci do posledního nebo třeba třetího nebo patnáctého znaku od konce (poslední neni problém, stačí dát dost velké číslo, ale patnáctý, to už dá nějaké počítání, no ještě že je živý náhled na výsledek v TC i DC, takže než počítání, tak spíš metoda odhadu a korekce), to už se musí zadávat ručně (tu syntaxi se zápornými čísly taky umí, ale musí si to člověk sám odpočítat), aspoň co pamatuju a je dost možné, že i tam došlo k vývoji.
Předpokládám, že v nových verzích umí už TC i názvy s unicode, to si pamatuju, že býval v TC dost problém. Zobrazení v panelech ještě bylo jakžtakž, ale třeba synchronizace složek, když v nějakém názvu bylo něco mimo třeba čínské znaky nebo azbuka (nemluvě o různých smajlíkách a co všechno dávají youtubeři do názvů videí) končilo to chybama a i když se soubory porovnaly, tak z toho okna synchonizace nešly mazat a podobně. DC tím, že je novější, tak tohle zvládá přirozeně.
Je fakt, že si neudržuju přehled o tom, co TC umí nově proti stavu, jaký pamatuju, takže je možný, že to, co je navíc v DC už TC umí taky. Vývoj jde kupředu.

Takže sa to nakoniec dá aj priamo v DC. Skúsil som [N1:5] - [N7:-1] a funguje to. Dá sa to naklikať v tých možnostiach alebo ako si prišiel na tento kód? Možno blbá otázka ale nie som programátor ale predpokladám že tieto veci majú ľudia čo programujú ako príklad 2+2. Ja by som na tento kód neprišiel aj keby som sa rozkrájal :-)

V podstatě metodou "kouknu -vidím" a když vidím, že nevidím, tak se rozhlédnu. Podobně jako když chci rozsvítit a hledám vypínač.

Nejspíš bude někde ve výši ramen, kousek od dveří, bude mít nějaký povědomý tvar (jeden asi z 10), nějakou barvu (libovolnou), velikost (od palce po dvě dlaně), nějaká tlačítka (nejčastěji 1-2) nějakého typu (asi tak 20), ... když to uvidím, tak to poznám, když ne, rozšířím okruh hledání ...

často bývá nějaká nápověda v tom dialogu pro přejmenování (jako příklad), nebo tam je tlačítko "help" ("nápověda" a tak), nebo je tam nějaké "advanced" ("pokročilé" a pod)
nebo je nápověda přímo v programu (F1, Help, About, ...) nebo v systému (man, info, HELP, ...)
Naprostá většina programů má webové stránky s popisem (a odkaz na ně je v meny about, splash screenu, hlavičce balíčku, v metadatech ...)
A taky se to dá vygooglit, najít na stackowerflow, wiki, ....

Jako s tím vypínačem - zašátrám a určitě na něco rychle narazím ...

a ta syntaxe se sice různě liší, ale základ je v podstatě vždycky stejný máš vstupní jméno, nějak ho potřebuješ rozebrat a přeskládat, abys dostal to výstupní.

To jsi taky popsal celkem jasně (parafrázuju) z toho jména vezmu prvních pět znaků, ten další zahodím a dám tam Y a zbytek zkopíruju.

V podstatě tohle dělají všechny ty postupy tady, jak ten pro DC, tak ten můj pro sed. (Já DC neznám, ale od pohledu hranatky vybírají časti textu, to N uvnitř bude Name, rozsah odkud kam, záporné indexy se počítají od konce zpět, ještě bych se ujistil, jestli tam není nějaké E pro Extension nebo tak něco (pozůstatk z DOSu a 8.3 jmen) a na pokusném adresáři vyzkoušel, jestli mi to chodí i pro soubory s víc tečkama, nebo jinýma zajímavýma znakama (jako mezerama, hranatkama ...) co se mi potulujou v dané oblasti na disku.

Hint>lze použít kaskádu přejmenování.
Pokud jde double commander podobný totalcommanderu, šlo by použít v tom dialogu sekce najít+nahradit a napsat ^........ A zvolit regulerni expression. To odmaže počateční počet teček. Potom .....$ , nahrdit: nic

Zpět do poradny Odpovědět na původní otázku Nahoru