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

Moderated forum for Slovak and Czech users

Moderator: Hacker

Post Reply
MartinezZ
Junior Member
Junior Member
Posts: 10
Joined: 2009-04-30, 20:26 UTC

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

Post 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
User avatar
white
Power Member
Power Member
Posts: 4594
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Post by *white »

[P] = [název-složky]
MartinezZ
Junior Member
Junior Member
Posts: 10
Joined: 2009-04-30, 20:26 UTC

Post 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!
User avatar
totcmd
Senior Member
Senior Member
Posts: 223
Joined: 2006-11-06, 00:07 UTC
Location: Praha
Contact:

Post 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í
Jeden soubor vladne vsem, jeden jim vsem kaze, jeden vsechny ovladne... totalcmd.exe
MartinezZ
Junior Member
Junior Member
Posts: 10
Joined: 2009-04-30, 20:26 UTC

Post by *MartinezZ »

Díky, to se hodí ;)
prazak
New Member
New Member
Posts: 1
Joined: 2016-07-11, 13:26 UTC

Post 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
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post 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
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply