Veröffentlicht 1. April 200322 j Hallo, gibt es sowas wie ein "Suchen-Ersetzen" für Windows Ordner? Hintergrund: Wir haben eine Ordnerstruktur für unsere Kunden auf einem Netzlaufwerk. In jeweils diesen Kundenordnern gibt es sporadisch einen Ordner mit dem Namen "xyz" Ich möchte jetzt im kompl. Netzlaufwerk nach diesem Ordner suchen und ihn in "abc" umbenenen. Seht ihr da ne Chance? Gruss Dietmar
1. April 200322 j Mit vbs per wsh sollte sowas möglich sein. Mit der Methode SubFolders immer die Unterverzeichnisse auslesen, dort die Namen Prüfen ung ggf. ändern. Das dann immer weiter in der Verzeichnistruktur durchführen bis alle Ordner durchsucht wurden.
1. April 200322 j Autor Originally posted by capitanx Mit vbs per wsh sollte sowas möglich sein. Hast Du sowas fertig?
1. April 200322 j Hallo, geht auch mit Boardmitteln (unter NT/2k/XP) : @echo off for /f "tokens=1* delims=;" %%a in ('dir \ /AD /B /S ') do echo %%a | find /I "alt" | find /I /V "alt\" >>ordner.txt for /f "tokens=1* delims=;" %%a in (ordner.txt) do cd \ && cd "%%a" && cd .. && ren "alt" "neu" Gruß Terran Marine
2. April 200322 j Autor Hi Terran, klappt noch nicht so. Originally posted by Terran Marine @echo off for /f "tokens=1* delims=;" %%a in ('dir \ /AD /B /S ') do echo %%a | find /I "alt" | find /I /V "alt\" >>ordner.txt for /f "tokens=1* delims=;" %%a in (ordner.txt) do cd \ && cd "%%a" && cd .. && ren "alt" "neu" Ich habe "alt" gegen gegen den alten Ordenrnamen ersetzt und "neu" gegen den Neuen. Dann alles in eine Batch gepackt und diese im Stammverzeichnis ausgeführt. Die Console gibt mir dann nach einer Zeit aus, das er einen Befehl nicht ausführen kann. Und zwar zeigt er irgednwelche Ordnernamen aus dem Verzeichnis an, die er nicht ausführen kann. Muss ich da noch was formatieren?
2. April 200322 j Haben die Ordner vieleicht mehr als acht Zeichen? Es kann sein das die Batch nur "Ordnern~1" statt "Ordnernamen" verarbeiten kann? Oder hat der Benutzer, der die Batch ausführt, nicht die erforderlichen Rechte auf den Ordnern?
2. April 200322 j Autor Originally posted by AVEN Haben die Ordner vieleicht mehr als acht Zeichen? Es kann sein das die Batch nur "Ordnern~1" statt "Ordnernamen" verarbeiten kann? Jo. Das kann sein. Wie gesagt, es ist ein riesen Baum. Da können sich schon wohl ein paar lange Namen drin tummeln. Mitunter auch Leerzeichen getrennt. Originally posted by AVEN Oder hat der Benutzer, der die Batch ausführt, nicht die erforderlichen Rechte auf den Ordnern? Rechte sind vorhanden!
2. April 200322 j Morgen, waren wohl 4 Anführungszeichen soviel : @echo off if exist ordner.txt del ordner.txt for /f "tokens=1* delims=;" %%a in ('dir \ /AD /B /S ') do echo %%a | find /I "alt" | find /I /V "alt\" >>ordner.txt for /f "tokens=1* delims=;" %%a in (ordner.txt) do cd \ && cd "%%a" && cd .. && ren alt neu Es kann trotzdem zu Fehlermeldungen kommen, falls der gesuchte Verzeichnisname, Teil eines anderen Verzeichnisnamens ist (z.b. alt in Altbier), die richtigen Ordner werden aber trotzdem umbenannt (die falschen nicht). Zur Kontrolle kannst du ja immer in ordner.txt gucken, dort stehen alle gefunden Verzeichnisse drin. Gruß Terran Marine
2. April 200322 j Autor Originally posted by Terran Marine Zur Kontrolle kannst du ja immer in ordner.txt gucken, dort stehen alle gefunden Verzeichnisse drin. Hat super geklappt! Herzlichen Dank! Gruss Dietmar
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.