holsthn
Goto Top

URL aufrufen mit Prozentzeichen und Parametern

Hi
Ich komme wahrscheinlich nur nicht auf die Lösung und hab ein Brett vor dem Kopf
Ich rufe Navision mit einer cmd über eine Url auf
batch.cmd:
@echo offstart navision:client/run?servername=501test%26company=test%20Wissen%26target=Form%2025%26view=SORTING(Field3,Field4,Field11)%20WHERE(Field3=1(XXXXXXX),Field36=1(1))%26position=Field1=0(2)%26servertype=NAVISION

soweit funktioniert es super

Nun möchte ich anstelle des XXXXX ein Parameter beim Aufruf übergeben
batch.cmd XXXXX
@echo offstart navision:
client/run?servername=501test%26company=test%20Wissen%26target=Form%2025%26view=SORTING(Field3,Field4,Field11)%20WHERE(Field3=1(%1),Field36=1(1))%26position=Field1=0(2)%26servertype=NAVISION

Er übergibt es auch - nimmt mir aber dafür alle %2 weg
Dann habe ich gedacht versteckst Du die anderen %
batch.cmd XXXXX
@echo offstart navision://client/run?servername=501test^%26company=test^%20Wissen^%26target=Form^%2025^%26view=SORTING(Field3,Field4,Field11)^%20WHERE(Field3=1(%1),Field36=1(1))^%position=Field1=0(2)^%servertype=NAVISION
gleiches Problem
auch mit doppelten ^^ funktioniert es nicht

wäre für hilfe sehr dankbar

Gruß

Content-ID: 125856

Url: https://administrator.de/contentid/125856

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

76109
76109 26.09.2009 um 08:31:49 Uhr
Goto Top
Hallo holsthn!

Versuchs mal mit %%20 anstatt %20. Und anstatt %26 kannst Du %%26 oder auch ^& schreiben.

Gruß Dieter
holsthn
holsthn 26.09.2009 um 12:53:52 Uhr
Goto Top
Hi
mit %% schneidet er mir alles nach dem ersten %% ab - also nach 501test
mit ^&%20 das gleiche - also er schneidet auch alles ab.

noch ne idee?
76109
76109 26.09.2009 um 13:23:42 Uhr
Goto Top
Hallo holsthn!

Test.Cmd 100:
@echo off
echo navision://client/run?servername=501test^&company=test%%20Wissen^&target=Form%%2025^&view=SORTING(Field3,Field4,Field11)%%20WHERE(Field3=1(%1),Field36=1(1))^&position=Field1=0(2)^&servertype=NAVISION
ergibt Ausgabe:
navision://client/run?servername=501test&company=test%20Wissen&target=Form%2025&view=SORTING(Field3,Field4,Field11)%20WHERE(Field3=1(100),Field36=1(1))&position=Field1=0(2)&servertype=NAVISION

Gruß Dieter
holsthn
holsthn 26.09.2009 um 14:01:18 Uhr
Goto Top
Sorry
Ich kapier die Logik nicht
Wenn ich

Test.cmd 100
echo navision:client/run?servername=501test%%26company=test%%20Wissen%%target=Form%%2025%%26view=SORTING(Field3,Field4,Field11)%%20WHERE(Field3=1(%1),Field36=1(1))%%position=Field1=0(2)%%26servertype=NAVISION

ergibt das
navision:
client/run?servername=501test%2%2025%26view=SORTING(Field3,Field4,Field11)%)%position=Field1=0(2)%26servertype=NAVISION

dein code funktioniert, aber ich brauch in der ausgabe eben zb nicht &company, sondern %26 company

sorry wenn ich mich hohl anstelle - musste noch nie nen Steuerzeichen übergeben

vielen dank für Deine Hilfe!!!
bastla
bastla 26.09.2009 um 15:59:00 Uhr
Goto Top
Hallo holsthn!

Versuch es so:
@echo off
echo navision://client/run?servername=501test%%26company=test%%20Wissen%%26target=Form%%2025%%26view=SORTING(Field3,Field4,Field11)%%20WHERE(Field3=1(%1),Field36=1(1))%%26position=Field1=0(2)%%26servertype=NAVISION
Zur Logik:
%0 (bzw %1) bis %9 sind für einen Batch die beim Aufruf übergebenen Parameter.
Sonstige %-Zeichen dienen dazu, Variablennamen zu kennzeichnen (zB %username%).
Um ein Prozentzeichen als solches zu erhalten, muss es verdoppelt werden (auch zB bei den Variablen einer "for"-Schleife, die an der Kommandozeile nur als zB %i, innerhalb eines Batches aber als %%i zu schreiben sind) - für Dein %20 ist daher %%20 erforderlich (was didi1954 bereits oben dargestellt hatte).

Offen bleibt aber noch die Frage, ob es in Deinem Parameter "XXXXXX" weitere Sonderzeichen gibt ...

Grüße
bastla

P.S.: Zum Posten von Batchschnipseln oder anderen Codes gibt es eine passende .
holsthn
holsthn 26.09.2009 um 16:47:03 Uhr
Goto Top
Hallo Bastla
Als XXX werden nur Zahlen übergeben.
Habs gerade getestet jetzt klappt es endlich.
Vielen Dank!!
Gruß
76109
76109 26.09.2009 um 18:37:08 Uhr
Goto Top
Hallo holsthn und baslta!

@bastla
Danke für's einspringen

Zitat von @holsthn:
dein code funktioniert, aber ich brauch in der ausgabe eben zb nicht
&company, sondern %26 company
Nur so als Anmerkung, das Zeichen %26 entspricht dem Zeichen & face-wink

Gruß Dieter