ListBox in einer Batchdatei
Hallo zusammen,
Auf anraten eines interessierten Lesers hier der neue Beitrag^^
Man kann in einem Batchfile auch VB-Skripte verwenden, was ich jetzt auch brauche.
Leider weiß ich nicht wie ich eine ListBox wie in VB erstelle und den User eine Auswahl gebe. Ich habe jetzt schon einige Zeit gesucht und das einzige was ich gefunden habe war das hier: http://lab1.de/Central/Software/System-To ...
Leider hilft mir das nicht wirklich weiter.
Ich brauche also ein Auswahlfenster wo ich bis zu sieben Auswahlmöglichkeiten bite. Das entscheidende ist, dass nicht immer alle dieser Auswahlmöglichkeiten erscheinen soll. Welche Möglichkeiten es gibt hängt vom vorherigen Programmablauf ab.
Nun brauche ich eben eine ListBox mit der ich bis zu sieben Auswahlmöglichkeiten aus einem *.txt file auswählen kann. Es ist aber durchaus möglich das in diesem *.txt file nur zwei, drei, vier,... Auswahlmöglichkeiten stehen.
Ich würde mich wieder über eure Hilfe freuen!
truespin
Auf anraten eines interessierten Lesers hier der neue Beitrag^^
Man kann in einem Batchfile auch VB-Skripte verwenden, was ich jetzt auch brauche.
Leider weiß ich nicht wie ich eine ListBox wie in VB erstelle und den User eine Auswahl gebe. Ich habe jetzt schon einige Zeit gesucht und das einzige was ich gefunden habe war das hier: http://lab1.de/Central/Software/System-To ...
Leider hilft mir das nicht wirklich weiter.
Ich brauche also ein Auswahlfenster wo ich bis zu sieben Auswahlmöglichkeiten bite. Das entscheidende ist, dass nicht immer alle dieser Auswahlmöglichkeiten erscheinen soll. Welche Möglichkeiten es gibt hängt vom vorherigen Programmablauf ab.
Nun brauche ich eben eine ListBox mit der ich bis zu sieben Auswahlmöglichkeiten aus einem *.txt file auswählen kann. Es ist aber durchaus möglich das in diesem *.txt file nur zwei, drei, vier,... Auswahlmöglichkeiten stehen.
Ich würde mich wieder über eure Hilfe freuen!
truespin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 88464
Url: https://administrator.de/forum/listbox-in-einer-batchdatei-88464.html
Ausgedruckt am: 06.04.2025 um 14:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo truespin!
Da VBScript eigentlich keine GUI zu bieten hat, könnte das als Batch (eher unschön) so aussehen:
Die Optionen werden der Datei "D:\Auswahl.txt" entnommen.
Grüße
bastla
Da VBScript eigentlich keine GUI zu bieten hat, könnte das als Batch (eher unschön) so aussehen:
@echo off & setlocal
set "Menue=D:\Auswahl.txt"
set C=%temp%\Ch.vbs
> %C% echo Menue = Split(CreateObject("Scripting.FilesystemObject").OpenTextFile(WScript.Arguments(0)).ReadAll,vbCrLF)
>>%C% echo Anzahl = UBound(Menue) + 1
>>%C% echo Auswahl = "Bitte wählen Sie durch Eingabe der Nummer:" ^& vbCrLF
>>%C% echo For i = 1 To Anzahl
>>%C% echo Auswahl = Auswahl ^& vbCrLF ^& i ^& " " ^& Menue(i - 1)
>>%C% echo Next
>>%C% echo Do
>>%C% echo OK = False
>>%C% echo Eingabe = InputBox(Auswahl, "Auswählen")
>>%C% echo If Eingabe = "" Then Eingabe = "0"
>>%C% echo If IsNumeric(Eingabe) Then
>>%C% echo Eingabe = CInt(Eingabe)
>>%C% echo If Eingabe ^<= Anzahl Then OK = True
>>%C% echo End If
>>%C% echo Loop Until OK
>>%C% echo If Eingabe ^> 0 Then WScript.Echo Menue(Eingabe - 1)
for /f "delims=" %%i in ('cscript //nologo %C% "%Menue%"') do set "Wahl=%%i"
if defined Wahl (echo Auswahl: %Wahl%) else (echo Keine Auswahl getroffen!)
Grüße
bastla
Hallo truespin!
zu 1:
%temp% ist eine Systemvariable (für die weiteren einfach "set /?" in einer CMD-Shell eingeben) und enthält den Pfad zum usereigenen Temp-Ordner (von dem Du einigermaßen gesichert annehmen kannst, dass der Benutzer dort Schreibrechte hat).
zu 2:
Exakt; nur so lassen sich ansonsten als Steuerzeichen interpretierte Zeichen wie "<|>&" per "echo" ausgeben.
Noch zum Script: Wenn Du Dir jeweils ">>%C% echo " wegdenkst, kannst Du das VBScript aus dem Batch "herauslesen", aber einfacher ist es, in einem Editor die "%temp%\Ch.vbs" (durch Eingabe des vollständigen Pfades beim Öffnen) anzusehen (natürlich erst, nachdem der Batch einmal ausgeführt wurde).
Grüße
bastla
zu 1:
%temp% ist eine Systemvariable (für die weiteren einfach "set /?" in einer CMD-Shell eingeben) und enthält den Pfad zum usereigenen Temp-Ordner (von dem Du einigermaßen gesichert annehmen kannst, dass der Benutzer dort Schreibrechte hat).
zu 2:
Exakt; nur so lassen sich ansonsten als Steuerzeichen interpretierte Zeichen wie "<|>&" per "echo" ausgeben.
Noch zum Script: Wenn Du Dir jeweils ">>%C% echo " wegdenkst, kannst Du das VBScript aus dem Batch "herauslesen", aber einfacher ist es, in einem Editor die "%temp%\Ch.vbs" (durch Eingabe des vollständigen Pfades beim Öffnen) anzusehen (natürlich erst, nachdem der Batch einmal ausgeführt wurde).
Grüße
bastla