Gå til innhold

[Løst] Batch, åpne web-link med variabler og prosent i url


Anbefalte innlegg

Hei.

 

Jeg prøver lage et script for å åpne en sak i HP Service Manager.

Og en slik link er utformet som følger:

 

ht*tps://XXX.XXX.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22SAKSNR%22&action=&title=Incident%20SAKSNR

 

 

Jeg ønsker et batch script der jeg bare kan klikke inn saksnummer så spretter saken opp

 

 

jeg prøver da følgende:

@Echo off
cls
set /p IMNR=Sak:
start https://XXX.XXX.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22%IMNR%%22&action=&title=Incident%20%IMNR%
pause
Selvsagt fugerer ikke det da % også er en del av avressen, så hva gjør jeg med det?
Lenke til kommentar
Videoannonse
Annonse

Det er 1(%) når kjøres kommandolinje,og 2(%%) når kjører fra fil.

Blir ikke mer logisk enn dette  :confused:

 

Eks:

number%3D%22SAKSNR%22&action

Sette inn 9999 istedenfor SAKNR.

@echo off
set sak_nr=9999
set str="number%%3D%%22SAKSNR%%22&action"
call set str=%%str:SAKSNR=%sak_nr%%%
echo %str%

output:
"number%3D%229999%22&action"
Lenke til kommentar

Ikke ren HTML, du må ha noe javascript.

 

Du kan til og med åpne i nytt vindu.

 

<!DOCTYPE html>

<head>
	<title>untitled</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	
    <script type="text/javascript">
    
        var goSak = function() {
            var url = 'https://XXX.XXX.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22SAKSNR%22&action=&title=Incident%20SAKSNR';
            var sak = document.getElementById("sak").value;
            var new_url = url.replace("SAKSNR", sak).replace("SAKSNR", sak);
            //window.location.href = new_url;
            window.open(new_url);
        };
    
    </script>
    
</head>

<body>
    
	<form>
    
    <input type=text id="sak">
    <input type=button value="  Åpne  " onClick="goSak();">
    
    </form>
</body>

</html>
Endret av Emancipate
  • Liker 1
Lenke til kommentar

Emancipate sin løsning ser grei ut,jeg skrev noe lignende så begynte jeg og knote litt i Batch :grumpy:

 

 

<html>
<form>
    sak_nr: <input type="text" id="myText" value="">
    <button onclick="foo(bar())">Open url</button>
<form>

<body>
<script>
function bar() {
    var x = document.getElementById("myText").value; 
    return x;
    }
</script>

<script>
function foo(nr) {
    var url = 'https://XXX.XXX.no/sm/index.do?ctx=docEngine&file=probsummary&query=number="SAKSNR"&action=&title=Incident SAKSNR'   
    var res = url.replace(/SAKSNR/g, nr);   
    window.open(res);
    }
</script>
</body>
</html>

 

 

 
Måtte escape-tegn & med ^& og doble opp  %, og fjerne anførselstegn før start kommandoen.
@echo off
set sak_nr=9999
set url="https://XXX.XXX.no/sm/index.do?ctx=docEngine^&file=probsummary^&query=number%%3D%%22SAKSNR%%22^&action=^&title=Incident%%20SAKSNR"
call set url=%%url:SAKSNR=%sak_nr%%%
set "url_link=%url:"=%"
rem echo %url_link%
start %url_link%

Kan ta med  en i Python og da,for der er jeg litt mere på hjemmebane.

from webbrowser import open

sak_nr = 9999
url = "https://XXX.XXX.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22{0}%22&action=&title=Incident%20{0}".format(sak_nr)
open(url)

 

Lenke til kommentar

Jeg fant en veldig enkel og grei måte å gjøre det på i Powershell.
 

$IMNR = Read-Host "Skriv IM nummeret (bare tall)"
Start-Process "https://***.***.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22IM$IMNR%22&action=&title=Incident%20IM$IMNR"

Takk for all hjelp :)

Endret av Evelen!
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...