OV-103 Skrevet 22. juli 2008 Del Skrevet 22. juli 2008 Jeg lager et Windows XP bat script (ja, det må være en .bat fil), og vil gjerne hente ut en bokstav fra en streng bassert på en variablel. Variabelen er et tall mellom 0 og 2, og refferer til en posisjon i strengen. Måten jeg bruker for å hente ut f.eks tegn nr 2 er: set TEGN=%STRENG:~1,1% Tallet jeg vil ha til å variere er det første 1 tallet i den kommandoen. Er det noen som har en glup løsning? Lenke til kommentar
teflonpanne Skrevet 23. juli 2008 Del Skrevet 23. juli 2008 Hvis det ikke *må* være en .bat-fil kan du jo laste ned cygwin. Da får du med mange standard unix-tools + et bash-shell og da kan du skrive: #!/bin/bash VAR=2 TEGN=`echo "strengen min" | cut -c $VAR` eller noe liknende. Uansett verdt å laste ned cygwin, ca tusen ganger bedre enn windows .bat-scripting. Lenke til kommentar
OV-103 Skrevet 23. juli 2008 Forfatter Del Skrevet 23. juli 2008 Jeg vet, hadde bare Windows kommandolinja vært like kraftig som Linux sin. . Men dette skal kunne kjøres på helt reine XP maskiner, så jeg kan desverre ikke bruke cygwin. Det er ikke helkrise om det ikke er mulig å få det til, for da bare lager jeg en seksjon i skriptet for hver mulighet, så hopper dit hvor den henter ut riktig i henhold til hva som er i variabelen. Tenkte bare det ville bli så mye penere om alt ble ordna på en liten kodesnutt. Lenke til kommentar
trtrtr Skrevet 23. juli 2008 Del Skrevet 23. juli 2008 Noe slik? @echo off rem Enable delayed expansion setlocal ENABLEDELAYEDEXPANSION set string=123456789 set index=4 set length=3 SET substring=!string:~%index%,%length%! echo String is: !string! echo substring is: !substring! Bruker "Delayed environment variable expansion" - da vil cmd.exe vente med å interpolere variabler helt til de skal benyttes - ikke kun en gang idet script leses. En bruker ! istedenfor % for å angi at variabel skal benytte "delayed expansion". 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å