Batch Move mit Leerzeichen und Umlaute

Helmut-HB

Cadet 2nd Year
Registriert
Juni 2016
Beiträge
28
Hallo.
Ich versuche verzweifet einen Move Befehl in einer Batch-Datei zum laufen zu bekommen.
%t1%="C:\ää üü\ää üü.txt"
%t2%="C:\üü ää\üü aa.txt"
move %t1% %t2%

Wie bekommt man so etwas hin?
Grüße
 
- Wenn möglich Batch weglassen und zB Powershell nehmen.

Mit Batch:
Code:
SET variable=WERT mit Leerzeichen und Ümlauten
echo  %variable%
RENAME "%variable%" "was anderes"
 
Ich möchte inkrementell Datensicherung erstellen ohne die Basisdaten zu sichern.
Die Datensicherung soll dann in ein passwortgeschütztes RAR-Archiv in die Cloud verschoben werden.
Von den Basisdaten wird dann ein Abbild erstellt (besteht nur aus Dateinamen und CRC) um zur
nächsten Sicherung die Unterschiede ermitteln zu können. Das Ganze funktioniert bereits
ohne Variablen.
Powershell klingt gut und ich habe mich mal ein wenig eingelesen.
SET var1="Alles wird gut"
echo %var1%
Anzeige: %var1%
Verstehe ich nicht...
Dank für eure schnelle Antwort!
 
Hallo Ralphs.
Ich finde leider keine Lösung für mein Problem.
SET var1="C:\üü üü\öö üü.txt"
echo %var1%
Ausgabe: "C:\├╝├╝ ├╝├╝\├Â├ ├╝├╝.txt"
Warum hast du RENAME geschrieben statt MOVE?
Grüße
 
Er hat dir nur Hilfe zur Selbsthilfe gegeben, nicht dir deine Arbeit abgenommen :p
Das waren nur Beispiele, wie du eine Variable richtig setzt. Der Rest sollte dann eigentlich Eigeninitiative sein ;)

Hast du wirklich Umlaute drin? Wieso?
 
Das Skript soll universell funktionieren ohne das es beaufsichtigt werden muß.
Die meisten unter 40 haben wenig Berührungsängste Umlaute am PC zu nutzen.
zB. Benutzernamen oder Ordner...
Danke für deine Antwort. Grüße
 
Ein Argument mehr für Powershell. Ich unterstelle mal, dass die Sprache besser mit Umlauten klar kommt.

$Pfad1 = "c:\ää üü\123.txt"
$Pfad2 = "c:\ää öö\456.txt"
Move-Item -Path $Pfad1 -Destination $Pfad2
 
Helmut-HB schrieb:
Die meisten unter 40 haben wenig Berührungsängste Umlaute am PC zu nutzen.
naja, aber dann sollten sie auch keine Batch-Dateien benutzen. Ansonsten verzichte auf die Umlaute.
 
Das liegt an der Codepage 850 dass batch die Umlaute nicht richtig verarbeiten kann.
Mach einfach vorher ein codepage Wechsel, indem du in die batch Datei diese Zeile schreibst:

chcp 1252
 
  • Gefällt mir
Reaktionen: rg88 und Art Vandelay
Super. Vielen Dank. Das ist die Lösung.
Im Anschluß noch Codepage wieder zurücksetzen.

Code:
chcp 1252
set h="C:\üü ää.txt"
move h "C:\user\h.txt"
chcp 850
 
Zurück
Oben