batchpflaume
Goto Top

Etwas komplizierterer Kopiervorgang mit Umlautänderung

Suche Hilfe für Umlautänderung vor Kopieren

Ich kopiere mittels eines batchfiles mehrere Dateien inklusive deren Ordnerstruktur von einem Ort zum anderen. Allerdings kommt es hin und wieder vor (die Ordner/Dateien werden von vielen Personen bearbeitet), dass sich Fehler einschleichen.
So darf bspw. in den Ordnernamen und den Dateinamen kein Umlaut enthalten sein. Außerdem dürfen keine Sonderzeichen, Striche oder ähnliches enthalten sein.

Bis auf zwei Ausnahmen:
Die Dateien sind immer folgendermaßen aufgebaut:
1.: BG-BRB-%vorname% %nachname%.xls
2.: BBGU-%vorname% %nachname%.doc
Die hier enthaltenen Bindestriche müssen auf jeden Fall bleiben. Die Teile %vorname% und %nachname%, die in diesem Fall die Variablen für den Namen darstellen, der hier hingehört, dürfen allerdings keine Sonderzeichen außer einem Leerzeichen enthalten.
Bsp: RICHTIG: BG-BRB-Hans Muster.xls
Bsp: FALSCH: BG-BRB-Hans_Muster.xls

Wie kann ich das per batch bewerkstelligen? Es sind leider sehr sehr viele Datensätze, sodass es händisch eigentlich nicht oder nur sehr mühselig machbar ist.

Und wie kann ich es bewerkstelligen, dass jenes batchfile vorher die Order- und Dateinamen auf Umlaute überprüft und diese ersetzt? Bsp: ä wird ae


Hiiiilfe =)
die batchpflaume

Content-Key: 71109

Url: https://administrator.de/contentid/71109

Printed on: April 20, 2024 at 00:04 o'clock

Member: miniversum
miniversum Oct 16, 2007 at 15:16:40 (UTC)
Goto Top
Wie soll den Festgestellt werden wie eine Datei namens "BG-BRB-Hans_Muster.xls" wirklich heissen soll?
Sollen alle "_" durch " " ersetzt werden?

miniversum
Member: 6zeichen
6zeichen Oct 16, 2007 at 19:38:26 (UTC)
Goto Top
Wie soll den Festgestellt werden wie eine
Datei namens
"BG-BRB-Hans_Muster.xls" wirklich
heissen soll?
Sollen alle "_" durch "
" ersetzt werden?

miniversum

Bsp: RICHTIG: BG-BRB-Hans Muster.xls
Bsp: FALSCH: BG-BRB-Hans_Muster.xls

eventuell von Punkt x bis Punkt y klarstellen, dass jegliche Sonderzeichen durch ein Leerzeichen ersetzt werden?
Member: Biber
Biber Oct 16, 2007 at 21:13:47 (UTC)
Goto Top
*grmmmmmmpf*
Hiiiilfe =)
die batchpflaume
Auch ein "etwas komplizierterer Kopiervorgang" ist IMHO
  • weder ein Grund für so einen Nick
  • noch für dieses "Hiiiilfe =)"

Beispiel für eine straight-forward-Lösung:
:: ---------snipp MultiRenamer.bat
@echo off & setlocal enableDelayedExpansion
Set "RootDir=D:\temp\bp"  
for /R "%RootDir%" %%i in (*_* *ä* *ü* *ö* *ß*) do (  
 set "x=%%~nxi"  
 Set "x=!x:ä=ae!"  
 Set "x=!x:ü=ue!"  
 Set "x=!x:ö=oe!"  
 Set "x=!x:ß=ss!"  
Echo Rename "%%i" "!x!"  
)
:: ---------snapp MultiRenamer.bat
In Aktion im angenommenen %RootDir% D:\temp\bp:
>dir d:\temp\bp /b
BG-BRB-Hans Muster.xxx
BG-BRB-Hänschen Muster.xxx
BG-BRB-Hänschen_Master.xxx
BG-BRB-HÄnschen_Meister.xxx
>d:\work\MultiRenamer.bat
rename "D:\temp\bp\BG-BRB-Hänschen_Master.xxx" "BG-BRB-Hänschen-Master.xxx"  
rename "D:\temp\bp\BG-BRB-HÄnschen_Meister.xxx" "BG-BRB-HÄnschen-Meister.xxx"  
rename "D:\temp\bp\BG-BRB-Hänschen Muster.xxx" "BG-BRB-Haenschen Muster.xxx"  
rename "D:\temp\bp\BG-BRB-Hänschen_Master.xxx" "BG-BRB-Haenschen_Master.xxx"  
rename "D:\temp\bp\BG-BRB-HÄnschen_Meister.xxx" "BG-BRB-Haenschen_Meister.xxx"  

Nach dem Testen kann natürlich das "echo rename" durch "rename" ersetzt werden.
Ginge auch kürzer.... aber aus Gründen der Wartbarkeit...

Anmerkung:
Da nun auch Dateinamen gegen mehrere Deiner Konventionen verstossen könnten ("hänschen_Müller-Mylch.xyz)", wäre eine noch stumpfere Abarbeitung noch sinnvoller:
:: ---------snipp MultiRenamer.bat
@echo off & setlocal enableDelayedExpansion
Set "RootDir=D:\temp\bp"  
for /R "%RootDir%" %%i in (*ä*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ä=ae!"  
for /R "%RootDir%" %%i in (*ü*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ü=ue!"  
for /R "%RootDir%" %%i in (*ö*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ö=oe!"  
for /R "%RootDir%" %%i in (*ß*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ß=ss!"  
...denn bei der ersten geposteten Variante kann es sein, dass die umzubenennende Datei schon ganz anders heißt...

Grüße
Biber
Member: Biber
Biber Oct 24, 2007 at 14:05:01 (UTC)
Goto Top
Moin batchpflaume,

Nachfrage: wie ist denn der Status Deines Problems?

Grüße
Biber
Member: batchpflaume
batchpflaume Oct 24, 2007 at 14:42:00 (UTC)
Goto Top
Moin batchpflaume,

Nachfrage: wie ist denn der Status Deines
Problems?

Grüße
Biber


moin. ich komme gut voran. habe noch ein paar funktionen drangehängt und kann jetzt relativ vernünftig damit arbeiten.
hab zur zeit leider land unter und bin noch nicht dazu gekommen, das script ausgiebig auf kinderkrankheiten zu überprüfen. ich werde es aber demnächst mal hier posten, nachdem ich noch ein paar änderungen vorgenommen habe, die ich bereits vorgemerkt habe.
dir nochmals vielen dank für deine hilfe!

bis bald
b
Member: Biber
Biber Oct 24, 2007 at 16:16:03 (UTC)
Goto Top
Moin batchpflaume,

danke für die Rückmeldung - dann lass ich den Beitrag mal offen und hoffe auf Deine Rückmeldung noch in diesem Herbst... face-wink

...und danach hol Dir bitte einen anderen Nick...

Grüße
Biber