Hmmm, mein Test lief unter XP.
Das ist es wohl (noch) nicht...
GTW
echo TARGET_DIR: %TARGET_DIR%
echo TARGET_DIR_LONG: %TARGET_DIR_LONG%
E:\Ablage\WSUS Test>trunk\PrepareReleaseTree.cmd "Viele böse Leerzeichen"
TARGET_DIR: E:\Ablage\WSUSTE~1\Viele böse Leerzeichen
TARGET_DIR_LONG: "E:\Ablage\WSUS Test\Viele böse Leerzeichen"
Der Befehl "böse" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Copying scripts and binaries...
Unzulässige Parameteranzahl
Das System kann den angegebenen Pfad nicht finden.
Compiling AutoIt-Scripts...
if not exist "%TARGET_DIR%\nul" goto InvalidParam
Gerby wrote:Ich habe mal [im PrepareReleaseTree.cmd hinter Zeile 10 zwei "Debugging-Zeilen" in das Batch eingebaut:
- Code: Select all
echo TARGET_DIR: %TARGET_DIR%
echo TARGET_DIR_LONG: %TARGET_DIR_LONG%
... und dann ein wenig rumprobiert.
Gerby wrote:[...]Wie auch immer: Um das Problem zu umgehen, muss im Skript entweder nur mit dem Langnamen gearbeitet werden (und mit viel Rumhantieren mit Anführungszeichen). Oder man setzt den Abfragepfad in Zeile 11 einfach in Anführungszeichen, auch wenn es wegen der Kurzform eigentlich garnicht nötig sein sollte (die pragmatische Lösung).
- Code: Select all
if not exist "%TARGET_DIR%\nul" goto InvalidParam
Gerby wrote:P.S.:
@Torsten: Beim durchstöbern der Batchdateien ist mir noch aufgefallen, dass Du in CompileAutoItScripts.cmd die Sprungmarke :EoF verwendest. Die ist in Windows jedoch bereits reserviert für das Ende der Batchdatei. Demnach wird der Befehl endlocal niemals ausgeführt (siehe auch weiter oben in diesem Thread). Ist jedoch andererseits auch nicht tragisch, da endlocal am Ende der Batchdatei nicht benötigt wird. setlocal wird beim Beenden der Batchdatei automatisch aufgehoben.
:<Sprungmarke>
...
goto :eof
call :<Sprungmarke>
Users browsing this forum: No registered users and 17 guests