Giorgos Pahakis
Giorgos Pahakis

Reputation: 1

batch file reverse list

 @echo off
 setlocal enabledelayedexpansion
 chcp 65001
 rem δημιουργία λίστας
 set a[0]=μαρία
 set a[1]=ηλιάννα
 set a[2]=μιχάλης
 set a[3]=γιώργος
 set a[4]=κώστας

with the list above and with the for command I want to have the following result:

μαρία κώστας
ηλιάννα γιώργος
μιχάλης μιχάλης
γιώργος ηλιάννα
κώστας μαρία

I have tried

 @echo off
 setlocal enabledelayedexpansion
 chcp 65001
 set list=4 
 set a[0]=μαρία
 set a[1]=ηλιάννα
 set a[2]=μιχάλης
 set a[3]=γιώργος
 set a[4]=κώστας

 for /L %%i in (0,1,4) do (
 for /L %%x in (4,-1,0) do (
 echo !a[%%i]! , !a[%%x]!))

but i get as a result :

μαρία , κώστας
μαρία , γιώργος
μαρία , μιχάλης
μαρία , ηλιάννα
μαρία , μαρία
ηλιάννα , κώστας
ηλιάννα , γιώργος
ηλιάννα , μιχάλης
ηλιάννα , ηλιάννα
ηλιάννα , μαρία
μιχάλης , κώστας
μιχάλης , γιώργος
μιχάλης , μιχάλης
μιχάλης , ηλιάννα
μιχάλης , μαρία
γιώργος , κώστας
γιώργος , γιώργος
γιώργος , μιχάλης
γιώργος , ηλιάννα
γιώργος , μαρία
κώστας , κώστας
κώστας , γιώργος
κώστας , μιχάλης
κώστας , ηλιάννα
κώστας , μαρία

Upvotes: 0

Views: 65

Answers (1)

Magoo
Magoo

Reputation: 80193

for /L %%i in (0,1,4) do (
 set /a pair=4-%%i
 FOR %%x IN (!pair!) DO echo !a[%%i]! , !a[%%x]!
)

should do what you require

Upvotes: 1

Related Questions