Ich habe die ausgezeichnete Antwort von dbenham auf die Frage verwendet, wie der Ordnername an den Anfang eines Dateinamens in einem Cmd-Skript gesetzt werden soll.
@echo off
pushd "Folder"
for /d %%D in (*) do (
for %%F in ("%%~D\*") do (
for %%P in ("%%F\..") do (
ren "%%F" "%%~nxP_%%~nxF"
)
)
)
popd
Was ich finde ist, dass scheinbar zufällig (obwohl es wahrscheinlich nicht ist), manchmal das Skript mehrere untergeordnete Ordner durchläuft und korrekt umbenennt, aber dann zu einem Ordner gelangt, in dem es in einer Schleife hängen bleibt und den Ordnernamen wiederholt hinzufügt in die Datei hinein. Ich habe an diesem Wochenende 90.000 Dateien in 300 Ordnern umzubenennen. Kannst du die Ursache erraten?
PS: Gibt es eine maximale Anzahl von Dateien, die in jedem Ordner zulässig sind?
batch-rename
Flibble Wibble
quelle
quelle
Dies kann hilfreich sein, um einen Verweis auf die ursprüngliche Frage hinzuzufügen, auf die Sie sich beziehen.
Geselle Geek
Möglicherweise haben Sie Junction-Ordner irgendwo in Ihrem Zielverzeichnis. Ich hatte ein Powershell-Skript, um alle Nicht-Junction-Dateien / -Ordner aufzulisten . Möglicherweise können Sie es optimieren, um nur Abzweigungen aufzulisten. Ansonsten werde ich es versuchen :)
Nixda
Ich habe Powershell (Windows 7 PC) geöffnet, das ich noch nie benutzt habe ... aber ich bekomme Ausführung von Skripten ist auf meinem System deaktiviert. Ich kann es nicht deaktivieren, da mein Registrierungsschlüssel gesperrt ist. :(
Flibble Wibble
Wenn jemand eine einfachere Lösung hat, bin ich sehr froh, jeden Ordner manuell durchzugehen. Ich habe gerade eine forfiles-Lösung ausprobiert, aber dies hat das gleiche Problem.
Flibble Wibble
nixda, vorausgesetzt ich habe Junction-Ordner, was würde ich dagegen tun?
Flibble Wibble