Tipps & Tricks 02.09.2015, 11:33 Uhr

Batchfile findet angegebenen Pfad nicht

Sie haben eine Batchdatei geschrieben, die u.a. ein File ab dem Desktop kopieren soll. Die Batchdatei bricht aber mit einem Fehler ab: «Das System kann den angegebenen Pfad nicht finden».
Sie benutzen unter Windows XP und 7 womöglich sogar dieselbe Batchdatei, die Sie nur geringfügig anpassen mussten. Aber was unter Windows 7 noch tipptopp funktionierte, will auf Ihrer alten Windows-XP-Kiste nicht laufen. Wieso? Die zu kopierende Datei heisst doch unter beiden Betriebssystemen gleich!
Lösung: Die Fehlermeldung zeigt recht klar, dass die Batchdatei offenbar Probleme damit hat, den Pfad zu finden. Das liegt in vielen Fällen am Ordner, unter dem Ihr Desktop unter XP und Windows 7 zu erreichen ist.
Unter Windows 7 liegt der Ordner hier (anstelle von «IhrName» natürlich Ihr Benutzername):
C:\Benutzer\IhrName\Desktop\
bzw. eigentlich:
C:\Users\IhrName\Desktop\
Unter Windows XP liegt Ihr Desktop-Ordner hier (anstelle von «IhrName» natürlich Ihr Benutzername):
C:\Dokumente und Einstellungen\IhrName\Desktop\
Auch wenn Sie den Pfad in der Batchdatei vielleicht angepasst haben, ist Ihnen etwas anderes entgangen: Anders als der Pfad unter Windows 7 enthält jener unter Windows XP zwei Leerzeichen. Und sobald in einem Pfad (einem der Ordner- oder Dateinamen) auch nur ein einziges Leerzeichen vorkommt, müssen Sie den ganzen Pfad in Anführungszeichen setzen. Die können Sie übrigens immer setzen. Es stört Windows keineswegs, wenn welche da sind, obwohl es sie nicht brauchte. Aber es meckert, wenn es sie brauchte – und sie fehlen. 
Ein Kopierbefehl kann also wie folgt lauten. Wegen der unterschiedlichen Pfadnamen müssten Sie theoretisch die Batchdatei jeweils anpassen: 
Funktioniert nur bis und mit Windows XP:
copy "C:\Dokumente und Einstellungen\IhrName\Desktop\datei.csv" "N:\Backup\Listen\"
Funktioniert erst ab Windows Vista:
copy "C:\Users\IhrName\Desktop\datei.csv" "N:\Backup\Listen\"
Tipp: Unter allen Windows-Versionen (also von XP bis Windows 10) gibts übrigens Systemvariablen. Die Variable %userprofile% steht immer für den Speicherort des Benutzerprofils. Eine Eingabe von %userprofile%\Desktop führt also sowohl unter Windows XP als auch unter Windows 7 oder 10 zum Desktop-Ordner des aktuell angemeldeten Benutzers. Und dies egal, auf welchem Laufwerk und in welchem Ordner dieses Profil gespeichert ist.
Wie weitere Variablen heissen könnten, finden Sie übrigens heraus, indem Sie ein Konsolenfenster öffnen (cmd.exe) und nur den Befehl set (gefolgt von der Enter-Taste) eintippen.
Mit dem Konsolenbefehl SET listet Windows die derzeit gesetzten Variablen auf
Verlassen Sie das Konsolenfenster wieder, indem Sie exit eintippen oder indem Sie es einfach übers X oben rechts schliessen. (PCtipp-Forum)



Kommentare
Es sind keine Kommentare vorhanden.