joemouth
Goto Top

Wie mit Choice LW-Buchstaben auswählen

Hallo Freunde der gepflegten Batch-Konversation,

ich möchte mittels Choice einen LW-Buchstaben eingeben lassen:

Leider gibt Choice Zahlen im %errorlevel% zurück.

Hat jemand eine gute Idee, die Zahlen einfach in den entsprechenden Buchstaben zu wandeln?

So hat es leider nicht geklappt:

set drives=ABCDEFGHIJKLMNOPQRSTUVWXYZ

choice /C %drives% /M "Laufwerksbuchstaben auf den gemapped werden soll angeben:"  

set /A nr=%errorlevel%-1

set drive=%%drives:~%nr%,1%%

Vielen Dank!
P.S. man

Content-ID: 196215

Url: https://administrator.de/contentid/196215

Ausgedruckt am: 20.11.2024 um 13:11 Uhr

rubberman
rubberman 23.12.2012 um 22:18:35 Uhr
Goto Top
Hallo joemouth,

call ist der Trick bei dieser Art verschachtelter Variablen.
Du kannst auch noch ein Leerzeichen in der Variablen drives voran stellen, dann ersparst du dir die zusätzliche Berechnung.
@echo off &setlocal
set "drives= ABCDEFGHIJKLMNOPQRSTUVWXYZ"  
choice /N /C %drives% /M "Laufwerksbuchstaben auf den gemapped werden soll angeben: "  
call set "drive=%%drives:~%errorlevel%,1%%"  
echo %drive%
pause

Grüße
rubberman
joemouth
joemouth 24.12.2012 um 00:09:16 Uhr
Goto Top
Hallo rubberman,

sensationell! Hat prima funktioniert.
Genial auch die Idee mit dem Blank in der LW-Liste.

Vielen Dank, Joe
pieh-ejdsch
pieh-ejdsch 25.12.2012 um 18:11:01 Uhr
Goto Top
moin,

ist schick gelöst mit dem Leerschritt.
ein Variante mit Forschleife:
set "drives= ABCDEFGHIJKLMNOPQRSTUVWXYZ"   
<nul set /p "=.Laufwerksbuchstaben auf den gemappt werden soll angeben: "  
cmd /u /c "echo %drives%"|findstr "."  
for /f %%i in ('choice /n /c %drives%') do set "Drive=%%i" &echo Laufwerk = %%i  

PS.
Joe, setz bitte noch die Frage auf gelöst.

Gruß Phil