Top-Themen

Aktuelle Themen (A bis Z)

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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Batch - Zufallszeilen aus txt-Datei anzeigen. Einige Macken im Skript

Mitglied: wiseolli

wiseolli (Level 1) - Jetzt verbinden

30.01.2011, aktualisiert 18.10.2012, 7436 Aufrufe, 4 Kommentare

Früher hatte ich ein Programm, das mir nach einer bestimmten Zeit (z.B. nach 30 min.) auf dem Desktop verschiedene Zitate/Fremdwörter/Prüfungsfragen usw. aus einer Textdatei Zeilenweise per Zufallsgenerator anzeigen konnte. Nach und nach konnte man so die Sachen auswendig lernen.
Nun wollte ich so etwas in Batch schreiben (möglichst ohne externe Programme). Dabei bin ich auf ein paar Problemchen gestoßen.

Hallo Leute,

es gibt einige Probleme in meinem Batch-Code, die ich nicht beseitigen kann.
Vielleicht könnten mir ja die Batch-Experten unter euch auf die Sprünge helfen
(bei den Schleifen blick ich nicht so richtig durch)


Kurze Beschreibung:
  • Es wird eine Text-Datei eingelesen.
  • Jede Zeile bekommt eine Nummer davor gestellt und alles (Nr.+Textzeilen) wird in eine temporäre Datei geschrieben.
  • Per Zufallsgenerator wird eine Zeile ausgewählt und für eine festgelegte Zeit angezeigt
  • Nach einiger Zeit wird wieder eine Zufallszeile aus der Temp-Datei angezeigt usw.


Die Macken sind:
  • Die Zeilen, die einstellige Nummern haben werden nicht angezeigt (scheinbar erst ab Zeile Nr. 10)
  • Größere Zahlen kommen öfters vor (ist nicht wirklich zufällig)
  • Manchmal werden auch zwei Zeilen auf einmal angezeigt (aber das ist nicht so schlimm wie Macke mit Zufallszahlen) z.B. Zeilen 35 und darunter 45 oder 38 und 48 gleichzeitig.


Mein Code:


Grüße (und vielen Dank schon mal im Voraus für die Hilfe)
wiseolli
Mitglied: 60730
30.01.2011, aktualisiert 18.10.2012
Salü,

Mal zum spielen in der schwarzen Kiste ganz ohne @echo off....

for /l %a in (1,1,100) do echo %a: a%a>>C:\script\random\123.in

findstr /l 4: C:\script\random\123.ini
  • Das ist das, was du in Zeile 74 machst und das kommt sinngemäß dabei heraus:
Ergo:
findstr /b /c:"4:" C:\script\random\123.ini
Gruß
Bitte warten ..
Mitglied: wiseolli
30.01.2011 um 16:55 Uhr
Hallo,

mit
for /l %a in (1,1,100) do echo %a: a%a>>%temp%\123.ini
findstr /l 4: %temp%\123.ini
findstr /b /c:"4:" %temp%\123.ini
hab ich's nun nachvollziehen können.

Vielen Dank TimoBeil!

Zeile 74 habe ich nun in
geändert. Und nun läufts.

Gruß
wiseolli
Bitte warten ..
Mitglied: pieh-ejdsch
30.01.2011 um 17:39 Uhr
moin,

in Zeile 48 und 51 gibst Du jeweils Die Zeilennummern von der OriginalDatei aus aber blendest die Leerzeilen aus
somit kommst Du aber auf einen Falschen EndWert, wenn Du paar verstreute LeerZeilen im Original hast. - Die werden ja auch mitgezählt und dein Script zeigt nichts an, wenn genau diese Zeile rausgepickt würde.
wenn Du den genauen Zeilenwert ohne die Leerzeilen haben willst, musst Du findstr 2 mal nehmen das erste ohne Option /n
wenn Du Type Datei nicht zur Konvertierung der Datei nimmst, kannst Du die Datei dem 1. Findstring so mitgeben.

in Zeile 51 kannst Du die Zeilen auch gleich mithilfe der TempDatei zählen
wenn Du in Zeile 74 /c: weglässt geht es auch. Du hast ja schon /b dastehen.

Gruß Phil
Bitte warten ..
Mitglied: wiseolli
05.02.2011 um 15:11 Uhr
Hallo, und danke für den Kommentar Phil.

in Zeile 48 und 51 gibst Du jeweils Die Zeilennummern von der OriginalDatei aus aber blendest die Leerzeilen aus
Tatsächlich. Hab paar leere Zeilen ins Orig. eingefügt. Und wenn ich die erstellte Temp öffne, sind die Leerzeilen (und deren Anfangsnummern nicht da).

Da ich aber in den "for-Schleifen" nicht durchblicke, werde ich versuchen die Leerzeilen zu vermeiden. Und zur Not bemühe ich halt die Funktion "Delete Blank Lines" im Notepad++

wenn Du in Zeile 74 /c: weglässt geht es auch. Du hast ja schon /b dastehen.
Stimmt, hab's probiert, geht auch ohne.
Hatte den Befehl von TimoBeil so 1:1 übernommen, da die beiden Schalter in findstr /? für mich auch passend klangen:
Danke für die Hinweise/Verbesserungen noch mal - Dat Ding rennt wie ich's wollte!

Gruß
wiseolli
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch : TXT-Datei auslesen
gelöst Frage von Newplay123Batch & Shell20 Kommentare

Hallo, ich habe eine Textdatei mit dem Inhalt " "Test" ". Also die zweiten Anführungszeichen sind auch mit in ...

Entwicklung

Batch oder Powershell für .txt-Datei

gelöst Frage von freshman2017Entwicklung5 Kommentare

Hallo liebe Gemeinde, ich habe eine .txt-Datei, die aus einer Artikelnummer und einem Bildname bestehen soll. Ausgangsdatei (export.txt) ist ...

Batch & Shell

Batch-Skript Schleife älteste Datei umbenennen

Frage von pentaddBatch & Shell9 Kommentare

Hallo zusammen, Ich möchte per Batch-Skript folgendes umsetzen: älteste Datei in einem Ordner finden Datei umbenennen: vom Dateinamen die ...

Windows 7

BATCH: Alter einer TXT-Datei bestimmen

gelöst Frage von ahstaxWindows 75 Kommentare

Hallo, wie bekomme ich mit einer DOS-Batch das Alter einer TXT-Datei bestimmt und lassen dann, bspw bei Alter >16h, ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Liste ungeschützter Pulse-VPN-Server veröffentlicht

Information von Visucius vor 1 TagErkennung und -Abwehr

bzw. Der tiefe Blick in die Profi-Administratoren-Welt ;-)

Windows 10

Windows Defender verhindert Telemetrieblocking via hosts-Datei

Information von BirdyB vor 1 TagWindows 102 Kommentare

Für diejenigen, die keine Daten an MS senden wollten, war die hosts-Datei manchmal eine Option.

Monitoring

Unabhängiger Ansatz - IoT (frei von Cloud- oder Appzwang) - Hier mit Schaltsteckdosen

Anleitung von beidermachtvongreyscull vor 4 TagenMonitoring2 Kommentare

Tach Kollegen, ich erzähle Euch mal von meiner Ausgangslage und den/m Problem(chen) Ich benutze ein NAS zur Lagerung meiner ...

Microsoft
Microsoft Advanced Threat Protection for Linux
Information von Dani vor 6 TagenMicrosoft

Microsoft Defender Advanced Threat Protection (MD ATP) support for Linux with kernel version 3.10.0-327 or later, including the following ...

Heiß diskutierte Inhalte
Windows 10
Windows "Home" Version im Unternehmen legal?
gelöst Frage von BosnigelWindows 1027 Kommentare

Hallo, ich habe hier einen Kleinstunternehmer der überall sparen muss. Die Frage: Ist Windows 10 (also nicht Pro) für ...

Off Topic
Arbeitsangebot
gelöst Frage von CoffeeJunkieOff Topic26 Kommentare

Da meine Firma massiv Stellen abbaut, bin ich auf der Suche nach einem neuen Job Basis Fakten: Abschuß Fisi ...

Exchange Server
Exchange Emailadresse deaktivieren oder löschen
Frage von imebroExchange Server15 Kommentare

Hallo, wir arbeiten mit einem Windows Server 2016 und Exchange 2016. Ein Mitarbeiter ist im März 2020 ausgeschieden und ...

Server
Verbindung zum Linux Server nicht möglich
gelöst Frage von it-fraggleServer13 Kommentare

Hallo zusammen, habe gerade ein sonderbares Problem auf dessen Lösung ich gerade nicht komme. Wir haben hier seit einigen ...

Weniger Werbung?
Administrator Magazin
07 | 2020 In der Juli-Ausgabe beleuchtet das IT-Administrator Magazin den Themenschwerpunkt "Monitoring & Support". Darin zeigt die Redaktion unter anderem, wie Sie die Leistung von Terminalservern im Blick behalten und welche Neuerungen das Ticketsystem OTRS 8 mitbringt. Auch die Überwachung von USV-Anlagen darf nicht fehlen. In ...