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, 2477 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
Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

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

Frage von sugram zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...

Server-Hardware
gelöst SPP von HP Abwärtskompatibel? (14)

Frage von fireskyer zum Thema Server-Hardware ...