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, 2484 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.

mfg

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

mfg

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 ..
Ähnliche Inhalte
Windows Update
WSUS Problem, einige Clients ziehen keine Updates mehr (7)

Frage von Leo-le zum Thema Windows Update ...

Batch & Shell
gelöst Batch script: Problem beim Kopieren und bearbeiten, dynamischen Pfad ermitteln (31)

Frage von Hedgehogi zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (13)

Frage von sysbone zum Thema Zusammenarbeit ...