Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Soft na hromadné přejmenování souborů v adresáři podle názvu adresáře?

Neznáte někdo soft na hromadné přejmenování souborů v adresáři podle názvu adresáře?

Příklad:
Mám adresáře Jaro, Leto, Podzim, Zima. V každém z adresářů je zhruba 50 souborů. Chtěl bych je přejmenovat tak, aby v adresáři Jaro byly soubory jaro01.jpg až jaro50.jpg, v adresáři Leto by byly soubory leto01.jpg až leto50.jpg atd.

Problém je v tom, že těchto adresářů je asi 200, takže přejmenovávat to nějakým softem po jednom je na dlouho. A vypadá to, že to není jednorázová záležitost, budu to zřejmě využívat častěji.

Díky za tip

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Chyba byla odhalena :-D Nechtěně jsem nedodal v jedné části odpovídající property, teď už by to mělo…
touchwood 24.06.2006 17:45
touchwood
Taky děkuju, ten script jsem rovněž využil. Jen, možná kvůli většímu počtu přejmenovaných .jpg, se p…
orang-utang 26.06.2006 05:11
orang-utang
nedalo mi to a upravil/opravil jsem to :-D Dim fso, f, sf, sfl, folder, file, filelist, counter, wa…
touchwood 26.06.2006 08:58
touchwood
Díky, hluboká poklona tvým znalostem a ochotě. nový
orang-utang 26.06.2006 16:36
orang-utang
ook-eek! :-D nový
touchwood 26.06.2006 19:51
touchwood
:i:Ha!To delal Polda ze Ctyrlistku! nový
Mrakokopulos 26.06.2006 20:09
Mrakokopulos
[StyleSheetMrOokMrEek.gif] nový
host 26.06.2006 21:35
host
super diky, i po nekolika letech byl pro me problem sehnat neco co zvladne takovouhle primitivni ulo… nový
renameME 06.12.2011 11:16
renameME
Do TC stačí doinstaloval FileX a v hromadném přejmenování je to potom pod tlačítkem [=?] filex - Par… poslední
Wikan 06.12.2011 11:32
Wikan

Chyba byla odhalena :-D Nechtěně jsem nedodal v jedné části odpovídající property, teď už by to mělo být ok.

 Dim fso, f, sf, sfl, folder, file, filelist, counter, warning, stary, novy
  path = InputBox("Zadejte cestu k nadřazenému adresáři ve kterém se nachází adresáře s obrázky")
  warning = MsgBox("Budou přejmenovány soubory v podadresářích tohoto adresáře: " & path & ". Je to správně?", 276, "Poslední záchrana") 
  if warning = 6 then
  	Set fso = CreateObject("Scripting.FileSystemObject")
  	Set f = fso.GetFolder(path)
  	Set sf = f.SubFolders
  	For Each folder in sf
		counter = 1
		Set sfl = fso.GetFolder(folder)
		set filelist = sfl.Files
		Wscript.echo " "
		Wscript.echo "Adresář " & folder
		Wscript.echo "číslo - starý název - nový název"
		Wscript.echo "==============================================================================="
		For Each file in filelist
			stary = file
			novy = folder.path & "\" & folder.Name & Right("0000" & CStr(counter),4) & "." & Right(stary,3)
			fso.MoveFile stary, novy
			wscript.echo counter & " - " & stary & " - " & novy
			counter = counter + 1
		next

	  next
 	Wscript.echo "Akce provedena!"
  Else
  	Wscript.echo "Akce byla zrušena!"
 	
  end if

Taky děkuju, ten script jsem rovněž využil. Jen, možná kvůli většímu počtu přejmenovaných .jpg, se přípona asi u 200 z 1100 .jpg změnila v .peg. Při dalším pokusu o přejmenování stejné sady fotek se počet chybných snížil asi na 50. Taky .peg. Je to zvláštní a mám hledat chybu v hardware, že tu operaci nestíhal, nebo je to normální a je to tím velkým množstvím?
CPU 2.26 GHz, RAM 512 MB. Docela mě to zajímá, ale k netu se dostanu až odpoledne, tak sorry, že třeba hned nebudu reagovat.

nedalo mi to a upravil/opravil jsem to :-D

Dim fso, f, sf, sfl, folder, file, filelist, counter, warning, stary, novy, koncovka
  path = InputBox("Zadejte cestu k nadřazenému adresáři ve kterém se nachází adresáře s obrázky")
  warning = MsgBox("Budou přejmenovány soubory v podadresářích tohoto adresáře: " & path & ". Je to správně?", 276, "Poslední záchrana") 
  if warning = 6 then
  	Set fso = CreateObject("Scripting.FileSystemObject")
  	Set f = fso.GetFolder(path)
  	Set sf = f.SubFolders
  	For Each folder in sf
		counter = 1
		Set sfl = fso.GetFolder(folder)
		set filelist = sfl.Files
		Wscript.echo " "
		Wscript.echo "Adresář " & folder
		Wscript.echo "číslo - starý název - nový název"
		Wscript.echo "==============================================================================="
		For Each file in filelist
			stary = file
			koncovka = Split(file.name, ".", -1, 1)
			novy = folder.path & "\" & folder.Name & Right("0000" & CStr(counter),4) & "." & koncovka(UBound(koncovka))
			fso.MoveFile stary, novy
			wscript.echo counter & " - " & stary & " - " & novy
			counter = counter + 1
		next

	  next
 	Wscript.echo "Akce provedena!"
  Else
  	Wscript.echo "Akce byla zrušena!"
 	
  end if

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