Page 1 of 1

Hromadné přejmenování souborů dle názvu složky

Posted: 2013-07-02, 10:45 UTC
by MartinezZ
Zdravím.

Dokážete někdo laikovi navrhnout řešení, jak v TC hromadně přejmenovávat soubory následovně:

- mám několik složek (desítky) a každá má svůj unikátní název.
- v každé složce je několik souborů s unikátním název a také jeden soubor nazvaný "index.html"
- potřeboval bych sesypat a poslat všechny soubory najednou bez struktury složek, ale tak, aby bylo zachováno, v jaké složce (její název) jaké soubory byly, tedy bych potřeboval postup, jak hromadně přejmenovat soubory tak, aby součástí jejich názvu byl i název složky, ve které se dané soubory nacházejí.

Tedy například něco ála:

[můj-vložený-text]-[název-složky]-[N]-[C]

všechny soubory si vylistuji pomocí Ctrl+B, kdy se mi zobrazí všechny soubory ve všech vnořených složkách a ty pak označím a přejmenovávám.

Podotýkám, že regulární výrazy jsou pro mě španělskou vesnicí...

Díky moc za jakékoliv tipy, věřím, že to TC nějak umět musí :) MartinezZ

Posted: 2013-07-02, 11:16 UTC
by white
[P] = [název-složky]

Posted: 2013-07-02, 12:39 UTC
by MartinezZ
Heh, díky a skvělé. Škoda, že to není vidět jako tlačítko hned někde v dialogu hromadného přejmenování.

Díky moc!

Posted: 2013-07-06, 10:33 UTC
by totcmd
MartinezZ wrote:Heh, díky a skvělé. Škoda, že to není vidět jako tlačítko hned někde v dialogu hromadného přejmenování.

Díky moc!
Všechny použitelné zástupné znaky jsou v nápovědě...
viz
Dialogové okno Hromadné přejmenování

Posted: 2013-07-06, 10:47 UTC
by MartinezZ
Díky, to se hodí ;)

Posted: 2016-07-11, 13:49 UTC
by prazak
Zdravím všechny.
Já mám prakticky stejný problém jako MartinezZ.

Chci všechny soubory "index.html", které jsou v různých složkách překopírovat do jedné společné složky na jiném disku (kořenová složka disku E: ), ale každý soubor aby obsahoval v názvu přidanou úplnou cestu původního místa (aby tak nedošlo k přepsání souborů), kde původně byl (lomítka v názvu např. nahradit znakem _).

Původní umístění souborů třeba:
První soubor "C:\sub1\sub1\index.html"
Druhý soubor "C:\subdir\sub\index.html"
apod. pro další soubory

A chci aby se po překopírování do E:\ jmenovaly:
první soubor "E:\C_sub1_sub1_index.html"
druhý soubor "E:\C_subdir_sub_index.html"
apod.

Díky moc za jakékoliv tipy, prazak

Posted: 2016-07-12, 21:11 UTC
by Hacker
Ahoj prazak,
Nainstaluj CopyTree, Alt-F7, daj vyhladat index.html v ramci C:, Feed to listbox, oznac vsetky, Alt-F5, vyber CopyTree, prekopiruj aj s cestou (druha moznost zdola) do E:\Temp\, prepni sa do E:\Temp\, Ctrl-B, oznac vsetky, Ctrl-M

Code: Select all

Rename mask: file name
[1-1000]

Extension

Search for:
E:\Temp|\

Replace with:
C|_
Enter, Ctrl-B, oznac vsetky, F6, .., Enter, vsetky subory by mali byt v E:\ a mozes vymazat E:\Temp\.

Alebo alternativne ja osobne by som to vyriesil tymto kratkym AutoHotkey skriptom:

Code: Select all

SourceDir = C:\
SourceFileName = index.html
Recurse = True
TargetDir = E:\

SetWorkingDir, %SourceDir%
IfEqual, Recurse, True
	Recurse = R
Else
	Recurse =

Loop, Files, %SourceFileName%, %Recurse%
{
	StringReplace, TargetFileName, A_LoopFileLongPath, :\, _, All
	StringReplace, TargetFileName, TargetFileName, \, _, All
	FileCopy, %A_LoopFileLongPath%, %TargetDir%%TargetFileName%
}
HTH
Roman