Permalänk
Medlem

Loop med dynamisk adress

Hur gör man en loop som ändrar adressen i loopen.
Försökte med For loop och är ju lätt

for /l %%x in (1, 1, 22) do (
echo %%x
)

Men den skriver ut lite konstigt så jag vet inte om det blir bra
(echo 1)
1
(echo 2)
2
(echo 3)
3
(echo 4)
4
(echo 5)
5
osv...

och inte
1
2
3
4
5
osv..

Tanken är att sen byta om siffran mot en bokstav så 1=A,2=B, osv...
Eller även göra så jag kan ändra var jag vill börja exempelvis 1=C,2=D, osv...
Tänkte först med case eller IF men får det inte riktigt att fungerar i min loop när jag sätter ihop allt.

/Update

Hittade detta men fungerar inte, misstänker det bero på man kör windows 10 med ett "nyare" DOS

for x in {a..z}
do
echo "$x"
done

Permalänk
Hedersmedlem

Hej!

Det ser ut som att du försöker skriva det här i ett BAT-skript. Du saknar tre bitar:

1. Du behöver

@echo off

längst upp i ditt script för att själva kommandona du kör "echo" etc inte ska synas.

2. Om du vill loopa från A till H t.ex. så behöver du ta fram ASCII-koderna för dessa. Se nedan tabell:

Där ser du att A blir teckenkod 65 och H blir teckenkod 72. Så du behöver kunna loopa från 65 till 72.

3. Du behöver kunna göra om en teckenkod till ett faktiskt tecken. Jag hittade lite info här om vad du kan prova: http://www.dostips.com/forum/viewtopic.php?t=2610

Lycka till!

Permalänk
Medlem

Ahhh tackar tackar