2Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
748
748
EMPFEHLEN
-
Hallo und Halli,
auf einer sehr nutzvollen Seite fand ich die Befehlskombination um den Directory-Pfad aus einem Parameter zu holen.
Code :1
%~p0
Nun hätte ich zu gerne davon eine Stufe höher und hatte solche Sachen ausprobiert wie
oderCode :1 2
APP_HOME=%~p0 APP_HOME=%~p%APP_HOME%
aber auchCode :1 2
APP_HOME=%~p0 APP_HOME=%~pAPP_HOME
Natürlich erfolglos, da ich die generelle Syntaxregeln dieser Kryptik offenbar nicht wirklch versteheCode :1
APP_HOME=%~p0~p

Hat da jemand eine knackige Löstung für mich?
vielen Dank für Hinweise im Voraus
Takidoso
-
18.06.10 13:17 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Das war ein echter Fundus für mich, danke!
Aber noch eine Frage bezogen auf ENABLEEXTENSIONS bzw. ENABLEDELAYEDEXPANSION
erklärt leider nicht ganz für mich was eine verzögerte Erweiterung bedeutet.SETLOCAL
Mit den Befehlserweiterungen wird der SETLOCAL-Befehl folgendermaßen verändert:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
Aktiviert bzw. deaktiviert Befehlserweiterungen. Geben Sie
CMD /? ein, um weitere Informationen zu erhalten.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
Aktiviert bzw. deaktiviert die verzögerte Erweiterung von
Umgebungsvariablen. Geben Sie SET /? ein, um weitere Informationen
zu erhalten.
Leider war mein Googeln diesbezüglich auch nicht so recht befriedigend.
Was ist also der Unterschied zwischen verzögerte und ncht verzögerte Erweiterung?
Mit neugierigen Fragen
TakidosoGeändert von takidoso (18.06.10 um 16:39 Uhr)
-
18.06.10 16:58 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Die %x% Variablen werden pro Befehl nur einmal expandiert und zwar bevor der Befehl ausgeführt wird.
Bsp:
Ausgabe:Code :1 2 3 4 5 6
set x=1 FOR /L %%i IN (1,1,5) DO ( set /a x=%x%+%%i echo.%%i: %x% ) echo.res: %x%
Die !x! Variablen werden verzögert expandiert und so wird immer der aktuelle Wert eingesetzt:Code :1 2 3 4 5 6
1: 1 2: 1 3: 1 4: 1 5: 1 res: 6
Ausgabe:Code :1 2 3 4 5 6 7
setlocal EnableDelayedExpansion set x=1 FOR /L %%i IN (1,1,5) DO ( set /a x=!x!+%%i echo.%%i: !x! ) echo.res: %x%
GrußCode :1 2 3 4 5 6
1: 2 2: 4 3: 7 4: 11 5: 16 res: 16
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
mc per buttonclick eine ebene höher setzen?
Von MTMonline im Forum Flash PlattformAntworten: 2Letzter Beitrag: 22.10.05, 11:11 -
Mac client an Windows Active Directory
Von rflx im Forum Mac OSAntworten: 1Letzter Beitrag: 19.10.05, 15:40 -
eine Ebene höher?
Von Blattspinat im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 12.10.05, 21:16 -
Windows 2000 Server Active Directory
Von wazzi im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 23.01.04, 08:02 -
include file eine ebene höher
Von Pflaumi im Forum ASPAntworten: 3Letzter Beitrag: 01.01.02, 05:07





Zitieren

Login





