... ist syntaktisch an dieser Stelle nicht verarbeitbar
Habe schon Beitrage zu meinem Problem gelesen, es funktioniert trotzdem bei mir nicht (XP)
In einer batch möchte ich die existenz eines Verzeichnisses, das leerzeichen enthält überprüfen.
@echo off
echo userprofile ist so %USERPROFILE%
set xxx=%USERPROFILE%\Anwendungsdaten\Alias
echo ist gesetzt auf %xxx%
echo stelle 1
if exit "%xxx%\" echo Ordner existiert
Als Ergebnis erhalte ich:
userprofile ist so C:\Dokumente und Einstellungen\schultno
ist gesetzt auf C:\Dokumente und Einstellungen\schultno\Anwendungsdaten\Alias
stelle 1
""C:\Dokumente und Einstellungen\schultno\Anwendungsdaten\Alias\"" ist syntaktisch an dieser Stelle nicht verarbeitbar.
@echo off
echo userprofile ist so %USERPROFILE%
set xxx=%USERPROFILE%\Anwendungsdaten\Alias
echo ist gesetzt auf %xxx%
echo stelle 1
if exit "%xxx%\" echo Ordner existiert
Als Ergebnis erhalte ich:
userprofile ist so C:\Dokumente und Einstellungen\schultno
ist gesetzt auf C:\Dokumente und Einstellungen\schultno\Anwendungsdaten\Alias
stelle 1
""C:\Dokumente und Einstellungen\schultno\Anwendungsdaten\Alias\"" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Please also mark the comments that contributed to the solution of the article
Content-Key: 106713
Url: https://administrator.de/contentid/106713
Printed on: April 26, 2024 at 05:04 o'clock
3 Comments
Latest comment
Servus,
immer wieder gerne genommen...
Gruß
immer wieder gerne genommen...
set "xxx=%USERPROFILE%\Anwendungsdaten\Alias"
if exit "%xxx%\" echo Ordner existiert
if exit "%xxx%\" echo Ordner existiert
- Die "" bitte genau so benutzen
- Mach aus exit exist
- < code> und < /code> (ohne Leerzeichen) zwischen Cmd Schnippseln - erleichtern das lesen
Gruß
...aber wenn du /ein anderer jetzt deinen CodeBlock kopiert oder wegen einem anderen Zufall - hinter dem s von Alias ein Leerzeichen stehen sollte - kommt der nächste mit dem gleichen Problem
kopiere mit der Maus mal deine Zeile 1 und du verstehst was ich meine
Daher schreib ich das auch immer so (versuche es zumindestens), das eine mögliche Fehlerquelle ausgeschlossen werden kann.
Gruß
und dank für das sofortige Umsetzen mit den Code Blöcken
Edit.
Wann/Warum soll ich set "var=wert" verwenden ?
Wenn du das script übersichtlicher haben willst oder wenn du einen Wert mehrmals brauchst.
Im Prinzip geht ja auch ein simples
if exist "%USERPROFILE%\Anwendungsdaten\Alias" echo Alias vorhanden
Und dann schadet es auch nichts - von daher müßte die richtige Antwort auf deine Frage lauten:
"Aus Prinzip"
Ps: Deingesuchter Pfad ist übrigens nicht nur
"%USERPROFILE%\Anwendungsdaten\Alias"
- sondern auch kürzer und funktionierender auf englischen Systemen:"%Appdata%\Alias"