myGully.com

myGully.com (https://mygully.com/index.php)
-   Windows & Software (https://mygully.com/forumdisplay.php?f=61)
-   -   Dateien automatisiert umbenennen (https://mygully.com/showthread.php?t=1961442)

Trados 24.12.09 15:18

Dateien automatisiert umbenennen
 
Hallo,

gibt es eine Möglichkeit eine Datei derart umzubennenen dass immer nur ein bestimmtes Zeichen gelöscht wird? Wenn man sich bspw. eine Serie runterlädt, dann stört mich immer dieser "Beispiel_01" Unterstrich. Bei einer Datei kein Problem, aber wenn man sehr viele davon hat, dann ist es sehr nervig. Kann man dieses Symbol automatisiert durch bspw. ein Leerzeichen ersetzen?

Gruß T

PS: Wünsche allen frohe Weihnachten, genießt die Feiertage!

matty3d 24.12.09 19:37

Ich habe jetzt nur eine engl. Seite zur Hand, welche mehrere Freeware Programme anbietet mit denen du es mal versuchen könntest.
"http://software.informer.com/getfree-prozess-renamer/"
"http://www.1-4a.com/"
Es gibt aber auch die Möglichkeit sich einen sog. Batch file ( mit sog. Dos Befehlen selber zu schreiben ).
Dazu auf Start/ausführen: cmd eingeben. In das Fenster mal am Prompt : rename /? eingeben und kurz lesen :-) !

Trados 25.12.09 10:41

Wow, vielen Dank, das Programm 1-4a ist klasse, erspart einem viel Arbeit. Kann ich nur weiterempfehlen. THX

Vielleicht kennt jemand noch eine Lösung für ein ganz ähnliches Problem: Oft sind die Serien ja in Unterordnern gespeichert. Gibt es eine Möglichkeit mehrere Ordner anzuwählen und die Dateien eine Ebene höher anzusiedeln?

Also anstatt

Ordner1, Unterordner1, 001.avi
Unterordner2, 002.avi

etc.

Ordner1, 001.avi
002.avi

usw.

Bisher habe ich das immer mit Ausschneiden gemacht, oder falls ein Dateiname immer gleich ist per Suchenoption und dann alles auf einmal ausschneiden, das klappt aber nicht immer so gut.

haze303 25.12.09 14:50

Diesen S*****ing-Code in eine Datei mit der Dateiendung .VBS speichern, in den Ordner mit den Unterordnern ablegen und ausführen.

Code:

Option Explicit

Dim strFolder, oFSO, oFile, oFolder

Set oFSO = WS*****.CreateObject("S*****ing.FileSystemObject")
strFolder = oFSO.GetAbsolutePathName(".")

If oFSO.FolderExists(strFolder) Then
        For Each oFolder In oFSO.GetFolder(strFolder).SubFolders                                     
                For Each oFile In oFolder.Files
                      oFSO.MoveFile oFile.Path, strFolder & "\" & oFile.Name
                Next
        Next
End If

Das sollte dir die Arbeit entsprechend abnehmen.

VG,
haze303

Trados 25.12.09 16:51

Vielen Dank, funktioniert an sich wunderbar. Kann man im Skript auch einbauen dass er die Dateien trotz gleichen Dateinamens eine Ebene höher verschiebt? In den Unterordnern ist neben der .avi Datei u.a. ein Link zu einer Webseite, der Name lautet dann in jedem Unterordner "More Downloads". Deswegen bricht er nach einer Datei immer ab, mit der Fehlermeldung "Die Datei ist bereits vorhanden, Zeile 11, Zeichen 17, Code: 800A003A, Quelle: Laufzeitfehler in Microsoft VBS S*****". So muss man quasi immer noch in jeden Unterordner einzeln rein gehen und die Datei löschen. Hm, wobei es hier eigentlich auch mit der Suchenoption gehen müsste. Ich probiers mal. Danke jedenfalls, beide Tipps sind mir eine große Hilfe.

EDIT: Ja, beim ersten mal suchen hat er nix gefunden, aber wenn man den Suchort genauer spezifiziert dann findet er die Dateien, das geht dann auch so problemlos.

haze303 27.12.09 12:38

Soll sollte es funktionieren:

Code:

On Error Resume Next

Dim strFolder, oFSO, oFile, oFolder

Set oFSO = WS*****.CreateObject("S*****ing.FileSystemObject")
strFolder = oFSO.GetAbsolutePathName(".")

If oFSO.FolderExists(strFolder) Then
        For Each oFolder In oFSO.GetFolder(strFolder).SubFolders                                     
                For Each oFile In oFolder.Files
                      oFSO.MoveFile oFile.Path, strFolder & "\" & oFile.Name
                Next
        Next
End If

Nicht die schönste Lösung, aber sie funktioniert. :)
Leider bin ich momentan etwas kurz gebunden, sodass für eine professionelle Lösung keine Zeit bleibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.