Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch Begriffe in zufälliger reinvollge ausgeben. Problem keine Doppelten

Frage Entwicklung

Mitglied: Julian57

Julian57 (Level 1) - Jetzt verbinden

19.10.2010, aktualisiert 15:11 Uhr, 2463 Aufrufe, 3 Kommentare

Hallo,
und zwar ich habe ein kleines Problem mit einen Batch,
ich will ein Script schreiben was mir in zufälliger Reinfolge definierte Begriffe ausgibt, wobei er keine Doppelten ausgeben soll.
Hier meinen ersten Ansatz:

01.
@echo off 
02.
set y1=0 
03.
set y2=0 
04.
set y3=0 
05.
set y4=0 
06.
set y5=0 
07.
set y6=0 
08.
set y7=0 
09.
set y8=0 
10.
set Zähler=0 
11.
:1 
12.
cls 
13.
set /a zz=%random% %% 8 + 1 
14.
If %zz%==1 (set x=begriff1 & set /a y1=%y1%+1) 
15.
If %zz%==2 (set x=begriff2 & set /a y2=%y2%+1) 
16.
If %zz%==3 (set x=begriff3 & set /a y3=%y3%+1) 
17.
If %zz%==4 (set x=begriff4 & set /a y4=%y4%+1) 
18.
If %zz%==5 (set x=begriff5 & set /a y5=%y5%+1) 
19.
If %zz%==6 (set x=begriff6 & set /a y6=%y6%+1) 
20.
If %zz%==7 (set x=begriff7 & set /a y7=%y7%+1) 
21.
If %zz%==8 (set x=begriff8 & set /a y8=%y8%+1) 
22.
If %y1% GEQ 2 (goto 1) 
23.
If %y2% GEQ 2 (goto 1)  
24.
If %y3% GEQ 2 (goto 1) 
25.
If %y4% GEQ 2 (goto 1)  
26.
If %y5% GEQ 2 (goto 1)  
27.
If %y6% GEQ 2 (goto 1)  
28.
If %y7% GEQ 2 (goto 1) 
29.
If %y8% GEQ 2 (goto 1) 
30.
echo. 
31.
echo %x% 
32.
echo. 
33.
set /a Zähler=%Zähler%+1 
34.
if %Zähler%==8 (goto 2) 
35.
pause 
36.
goto 1 
37.
:2 
38.
cls 
39.
echo. 
40.
echo keine Begriffe mehr vorhanden 
41.
echo. 
42.
pause 
43.
exit
Leider funktioniert das Script nocht nicht ganz wie Ich es mir es vorstelle
Es gibt mir erst mal ein paar Begriffe aus aber wenn es einen doppelten Begriff findet bleibt es hängen und flakert und gibt nichts mehr aus
Ich weiß nicht woran es liegt
Bitte postet meinen Fehler, oder auch wenn ihr nur eine Ahnung habt woran es liegen könnte
Ich hoffe sowas ist überhaupt realisierbar!!!
Vieleicht kennt ihr eine bessere Lösung wie man so was lösen könnte, postet sie dann auch.
Über eine funktionierende Lösung wäre ich sehr dankbar.

Mit freundlichen Grüßen

Julian57
Mitglied: Friemler
19.10.2010 um 15:03 Uhr
Hallo Julian57,

Dein Fehler war folgender: Die Zeilen
If %yX% GEQ 2 (goto 1)
hätten
If %yX% GEQ 2 (set /a "yX=yX-1" & goto 1)
lauten müssen.

Außerdem war der erste PAUSE-Befehl falsch platziert, sodass der letzte Begriff durch CLS wieder vom Bildschirm verschwand.

Hier mal eine etwas eingedampfte Version Deines Skripts. Bei Verständnisfragen bitte melden.
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
 
06.
set "begriff1=Wort1" 
07.
set "begriff2=Wort2" 
08.
set "begriff3=Wort3" 
09.
set "begriff4=Wort4" 
10.
set "begriff5=Wort5" 
11.
set "begriff6=Wort6" 
12.
set "begriff7=Wort7" 
13.
set "begriff8=Wort8" 
14.
 
15.
set /a "y1=0,y2=0,y3=0,y4=0,y5=0,y6=0,y7=0,y8=0" 
16.
set Zaehler=0 
17.
 
18.
 
19.
:1 
20.
cls 
21.
 
22.
set /a zz=%random% %% 8 + 1 
23.
 
24.
for /f "tokens=2 delims==" %%c in ('set y%zz%') do ( 
25.
  if %%c equ 1 goto 1 
26.
27.
 
28.
call set "x=%%begriff%zz%%%" 
29.
set /a "y%zz%+=1" 
30.
 
31.
echo. 
32.
echo %x% 
33.
echo. 
34.
pause 
35.
 
36.
set /a Zaehler+=1 
37.
if %Zaehler% lss 8 goto 1 
38.
 
39.
 
40.
:2 
41.
cls 
42.
echo. 
43.
echo keine Begriffe mehr vorhanden 
44.
echo. 
45.
 
46.
pause
Gruß
Friemler
Bitte warten ..
Mitglied: Julian57
19.10.2010 um 15:16 Uhr
Hallo,

Super funktioniert,
danke dir

Mit freundlichen Grüßen

Julian57
Bitte warten ..
Mitglied: H41mSh1C0R
27.12.2010 um 10:00 Uhr
Wenn alles funktioniert, dann bitte noch den grünen Haken setzen damit man das in der Übersicht sieht.

VG
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...