Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Etwas komplizierterer Kopiervorgang mit Umlautänderung

Frage Entwicklung Batch & Shell

Mitglied: batchpflaume

batchpflaume (Level 1) - Jetzt verbinden

16.10.2007, aktualisiert 24.10.2007, 3426 Aufrufe, 6 Kommentare

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
Mitglied: miniversum
16.10.2007 um 17:16 Uhr
Wie soll den Festgestellt werden wie eine Datei namens "BG-BRB-Hans_Muster.xls" wirklich heissen soll?
Sollen alle "_" durch " " ersetzt werden?

miniversum
Bitte warten ..
Mitglied: 6zeichen
16.10.2007 um 21:38 Uhr
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?
Bitte warten ..
Mitglied: Biber
16.10.2007 um 23:13 Uhr
*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:
01.
:: ---------snipp MultiRenamer.bat 
02.
@echo off & setlocal enableDelayedExpansion 
03.
Set "RootDir=D:\temp\bp" 
04.
for /R "%RootDir%" %%i in (*_* *ä* *ü* *ö* *ß*) do ( 
05.
 set "x=%%~nxi" 
06.
 Set "x=!x:ä=ae!" 
07.
 Set "x=!x:ü=ue!" 
08.
 Set "x=!x:ö=oe!" 
09.
 Set "x=!x:ß=ss!" 
10.
Echo Rename "%%i" "!x!" 
11.
12.
:: ---------snapp MultiRenamer.bat
In Aktion im angenommenen %RootDir% D:\temp\bp:
01.
>dir d:\temp\bp /b 
02.
BG-BRB-Hans Muster.xxx 
03.
BG-BRB-Hänschen Muster.xxx 
04.
BG-BRB-Hänschen_Master.xxx 
05.
BG-BRB-HÄnschen_Meister.xxx 
06.
>d:\work\MultiRenamer.bat 
07.
rename "D:\temp\bp\BG-BRB-Hänschen_Master.xxx" "BG-BRB-Hänschen-Master.xxx" 
08.
rename "D:\temp\bp\BG-BRB-HÄnschen_Meister.xxx" "BG-BRB-HÄnschen-Meister.xxx" 
09.
rename "D:\temp\bp\BG-BRB-Hänschen Muster.xxx" "BG-BRB-Haenschen Muster.xxx" 
10.
rename "D:\temp\bp\BG-BRB-Hänschen_Master.xxx" "BG-BRB-Haenschen_Master.xxx" 
11.
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:
01.
:: ---------snipp MultiRenamer.bat 
02.
@echo off & setlocal enableDelayedExpansion 
03.
Set "RootDir=D:\temp\bp" 
04.
for /R "%RootDir%" %%i in (*ä*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ä=ae!" 
05.
for /R "%RootDir%" %%i in (*ü*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ü=ue!" 
06.
for /R "%RootDir%" %%i in (*ö*) do set "x=%%~nxi" && @echo rename "%%i" "!x:ö=oe!" 
07.
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
Bitte warten ..
Mitglied: Biber
24.10.2007 um 16:05 Uhr
Moin batchpflaume,

Nachfrage: wie ist denn der Status Deines Problems?

Grüße
Biber
Bitte warten ..
Mitglied: batchpflaume
24.10.2007 um 16:42 Uhr
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
Bitte warten ..
Mitglied: Biber
24.10.2007 um 18:16 Uhr
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...

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

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
gelöst Kopiervorgang im Gigabit Heimnetzwerk mit 2 NICs langsam (20)

Frage von John.D zum Thema Netzwerkgrundlagen ...

Ubuntu
gelöst Status Kopiervorgang mit dd in log schreiben (3)

Frage von caspi-pirna zum Thema Ubuntu ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...