*F* Skrevet 18. april 2015 Del Skrevet 18. april 2015 Ok. jeg har et par kodelinjer i powershell som skal kjøres basert på hva jeg skriver inn her: $NOE = Read-Host "Skriv noe" f.eks om jeg skriver "AB123" så skal en kodesnutt kjøres, men om jeg skriver "CD123" skal en annen kodesnutt kjøres. Det er jeg ute etter er mao at hvis setningen starter med (eventuelt, om det blir lettere: inneholder) "AB" skal den første snutten kjøres, men dersom den starter med/inneholder "CD" skal den andre kodesnutten kjøres. ønsker også en "hvis ikke" altså om noe annet skrives. Noen som vet hvordan jeg skal få det til? Har sammenheng med dette forøvrig: https://www.diskusjon.no/index.php?showtopic=1661259&hl= Lenke til kommentar
cronbach alpha Skrevet 18. april 2015 Del Skrevet 18. april 2015 (endret) Eksempel kode DO{ $input = Read-Host "What to start?" If($input -eq "AB123"){//Din kode} ElseIf($input -eq "CD123"){//Din kode} Else{Write-Host "Nothing"} } until ($input -eq "EXIT") Endret 18. april 2015 av cronbach alpha 1 Lenke til kommentar
*F* Skrevet 18. april 2015 Forfatter Del Skrevet 18. april 2015 Hei og takk, det fungerte fint. Men hva om jeg vil at dersom det som skrives i input inneholder f.eks "AB" (om man skriver AB123) så skal den gå til noe basert på AB. jeg regner med det er -eq som må byttes ut med noe..? Lenke til kommentar
*F* Skrevet 18. april 2015 Forfatter Del Skrevet 18. april 2015 tror jeg fant det. -Match må bare teste litt nå Lenke til kommentar
*F* Skrevet 18. april 2015 Forfatter Del Skrevet 18. april 2015 Fungerte og her er resultatet: DO{ $input = Read-Host "Skriv saksnummeret du ønsker å åpne" If($input -Match "IM") {Start-Process "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22$input%22&action=&title=Incident%20$input"} ElseIf($input -Match "SD") {Start-Process "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=incidents&query=incident.id=%22$input%22&queryHash=89472347&action=&title=Interaction%20;$input"} Else{Write-Host "echo $input er ikke et gyldig saksnummer, eller ikke implementert"} } until ($input -eq "EXIT") Lenke til kommentar
ahw_ Skrevet 18. april 2015 Del Skrevet 18. april 2015 ... Forhåpentligvis har du tenkt på hva som skjer dersom du taster inn f.eks. «1IM23» eller «asdf». Lenke til kommentar
*F* Skrevet 18. april 2015 Forfatter Del Skrevet 18. april 2015 ... Forhåpentligvis har du tenkt på hva som skjer dersom du taster inn f.eks. «1IM23» eller «asdf». det har jeg vi har ingen saksnummer som inneholder annet en noen korte bokstaver i starten og resten tall, så jeg tror ikke det blir noe reel problemstilling. Dog, det beste hadde vært om jeg kunne velge "starter med" eller liknende. Lenke til kommentar
ahw_ Skrevet 18. april 2015 Del Skrevet 18. april 2015 (endret) ... Du kan f.eks. gjøre noe som følgende dersom du vil ha det enkelt og litt mer ryddig. $BAD_CASE_NUMBER_ERROR_MSG = "{0} er ikke et gyldig saksnummer, eller ikke implementert" do { $input = Read-Host "Skriv saksnummeret du ønsker å åpne" if (-not ($input -match "^([A-Z]+)\d+$")) { Write-Output ($BAD_CASE_NUMBER_ERROR_MSG -f $input) continue } $something = $Matches[1] $urlTable = @{ "IM" = "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22{0}%22&action=&title=Incident%20{0}"; "SD" = "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=incidents&query=incident.id=%22{0}%22&queryHash=89472347&action=&title=Interaction%20;{0}"; } $urlFormat = $urlTable[$something] if (-not $urlFormat) { Write-Output ($BAD_CASE_NUMBER_ERROR_MSG -f $input) continue } $url = $urlFormat -f $input Start-Process -FilePath $url } until ($input -eq "exit") Endret 18. april 2015 av ahw_ Lenke til kommentar
*F* Skrevet 19. april 2015 Forfatter Del Skrevet 19. april 2015 takk for tips, kanskje mer ryddig, men det så ikke mer enkelt ut Lenke til kommentar
Paull Skrevet 21. april 2015 Del Skrevet 21. april 2015 (endret) Det kan også være greit å se på switch når/om det etter hvert blir flere tilfeller som skal håndteres: while(1) { switch -Regex (Read-Host "Skriv saksnummeret du ønsker å åpne") { "^IM\d+$" { Start-Process "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22$_%22&action=&title=Incident%20$_"; break; } "^SD\d+$" { Start-Process "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=incidents&query=incident.id=%22$_%22&queryHash=89472347&action=&title=Interaction%20;$_"; break; } "^EXIT$" { return; } default { Write-Host "'$_' er ikke et gyldig saksnummer, eller ikke implementert"; } } } Endret 21. april 2015 av Paull Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå