{title}

Hallo zusammen, ich bin ein neu registrierter Benutzer von Computer Hope, benutze die Website jedoch seit mehreren Wochen, um Ressourcen und Hilfe zu erhalten. Ich brauche Hilfe: Ich habe a.txt mit 465 Zeilen, es enthält alle Straßennamen in meiner Stadt. Ich muss eine Batch-Datei erstellen, die beim Ausführen ausgeführt wird nach dem Zufallsprinzip Erstelle 10, 25 oder 40 Straßen, abhängig von 1,2 oder 3. Sobald die Auswahl getroffen wurde, hätte ich gerne eine andere Wahl: 1 = Drucke Ergebnisse oder 2 = erstelle eine neue.txt mit den Ergebnissen. Ich arbeite bei einer kleinen Feuerwehr und werde this.bat verwenden, um Straßentests zu erstellen. Jede und jede Hilfe wird sehr geschätzt. Thx-step432

Dies ist, was ich bisher habe, es ist nur eine Grundskizze für das, wie es aussehen soll. TITEL Straßentestgenerator @ echo offcolor f0cls @ ECHO offcls: startECHO.ECHO. ECHO ================= ECHO 1. 10-Straßen-TestECHO 2. 25-Straßen-TestECHO 3. 40-Straßen-TestECHO ============== = ECHO. set choice = set/p choice = Geben Sie eine Zahl ein, um test.if nicht '% choice%' == '' zu generieren. set choice =% choice: ~ 0,1%, wenn '% choice%' == '1' zu 10if geht '% choice%' == '2' goto 25if '% choice%' == '3' goto 40ECHO "% choice%" ist nicht gültig. Bitte versuchen Sie es erneut. ECHO.goto start: 10ECHO.ECHO.ECHO ECHO 10 Streets Randomly Created. ECHO ECHO.ECHO.goto Pause: 25ECHO.ECHO.ECHO ECHO 25 zufällig erstellte Straßen.ECHO ECHO.ECHO.goto Pause: 40ECHO.ECHO.ECHO ECHO 40 zufällig erstellte Straßen.ECHO ECHO.ECHO.goto Pause:

Was meinst du mit erstellen ?, du meinst Liste?

Ja, ich möchte, dass eine Liste in einer TXT-Datei erstellt und auch automatisch gedruckt wird. Ich möchte, dass die erzeugte TXT-Datei beim nächsten Ausführen des Stapels ebenfalls überschrieben wird. - Step432

posten Sie ein Beispiel für this.txt mit 465 Straßen zum Beispiel. Schreiben Sie hier 3 Zeilen, damit wir besseren Code schreiben können

So etwas könnte funktionieren: Code: @echo offsetlocal enabledelayedexpansionset idx = 0for/f "tokens = delims =" %% vin (textfile.txt) do (Aufrufset/a idx = %% idx %% + 1call set array. %% idx %% = %% v) set/p var = Geben Sie ein, wie viele Straßen Sie benötigen: set cnt = 0: Loop-Aufruf set/a cnt = %% cnt %% + 1 set/a rnd =% random%% %% idx% + 1 echo! array.% rnd%! if% cnt% LSS% var% goto loop endlocalRandom bedeutet nicht, dass keine Duplikate vorhanden sind. Der bereitgestellte Code sendet die Ausgabe an die Konsole. Sie können es auf Wunsch in eine Datei umleiten. Fest: Anscheinend% random% innerhalb eines zum Schleife, gibt bei jeder Iteration dieselbe "Zufallszahl" zurück. Schleife mit goto umgeschrieben.

warum benutzt du %% statt! sidewinder - und für was ist% var%, wenn Sie es nicht eingestellt haben?

wow! code is gooddo nicht so viel fragen, einfügen sie code hier ist wichtig!

Devcom, ich habe versucht, den Code zu bereinigen, ohne den zu verwenden setlocal , hatte aber kein Glück. Der Schleifencode war ursprünglich Teil von a zum Schleife, die ich nicht gemäß KISS-Standards aufgeräumt habe. Ich werde einen Auffrischungskurs in Batch-Codierung für Idioten belegen Bearbeiten: Aufgefunden, um das zu beseitigen setlocal Anweisung: Code: @echo offset idx = 0für/f "tokens = delims =" %% v in (textfile.txt) do (Aufrufset/a idx = %% idx %% + 1call set array. %% idx %% = %% v) set/p var = Geben Sie ein, wie viele Straßen Sie benötigen: set cnt = 0: Loop-Aufruf set/a cnt = %% cnt %% + 1 set/a rnd =% random% %%% idx% + 1 Rufen Sie echo %% array.% Rnd %%% auf, wenn% cnt% LSS% var% goto loop

Ihr seid verrückt, der Code funktioniert wunderbar, ich kann die Ausgabe in eine txt-Datei von hier bekommen. Vielen Dank, tolle Arbeit! -Step432

Ich wollte meinen "fast" endgültigen Code posten. Ich muss noch eine Frage stellen. Wenn ein Benutzer eine gewünschte Anzahl von Straßen eingibt, wie können wir die von ihm eingegebene Anzahl begrenzen? Sagen Sie nicht mehr als 75 oder so.?Code:TITLE% username% Street Test Generator @ echo offcolor f0clsIF EXIST street_test.txt. (del street_test.txt.) setze idx = 0for/f "tokens = delims =" %% v in (STREETS.txt) do (rufe set/a idx = %% idx %% + 1 call set array. %% idx% % = %% v) ECHO.Echo ======================================= ECHO .set/p var = HALLO% username% !! Bitte geben Sie an, wie viele Straßen Sie benötigen: Setzen Sie cnt = 0ECHO.ECHO ================================= ==== ECHO.:loop call set/a cnt = %% cnt %% + 1 set/a rnd =% random% %%% idx% + 1 call echo %% array.% Rnd %%% >> street_test TXT-Aufruf echo %% array.% rnd %%% if% cnt% LSS% var% goto loopECHO.ECHO ========================== =============== ECHO.ECHO -% username% -ECHO.Echo street_test.txt mit% var% streets wurde erstellt.Echo.Echo ECHO.ECHO.pauseThanks-Step432

Ich konnte den folgenden Code einfügen, um nur Eingaben von 100 oder weniger zu akzeptieren: Code :: againset/p var = Geben Sie ein, wie viele Straßen Sie benötigen: set cnt = 0if% var% LSS 101 goto oneif nicht% var% LSS 101 goto next: nextEcho% var% ist zu hoch, überprüfen Sie Ihre Eingabe.GOTO erneut

Ein minimaler Ansatz: Code :: againset/p var = Geben Sie ein, wie viele Straßen Sie benötigen (max. 100): Wenn% var% GTR 100 zu againset cnt = 0Wenn Sie wirklich Lust haben, können Sie die maximale Anzahl von Straßen a festlegen Funktion der Datensatzanzahl in der Datei. Vielleicht 15%. Wenn die Anzahl der Straßen wächst, müssten Sie den Code nicht beibehalten. Nur ein Gedanke.

Thx Sidewinder, ich werde das stattdessen einfügen. Ich dachte, "LSS" bedeute weniger, aber ich wusste nicht, was ich für "mehr" verwenden sollte, offensichtlich für "GTR". Ich würde auch gerne ein paar Ostereier einwerfen. hat jemand gute einfache ideen?

Sie können den Code so berechnen lassen, dass 15% Code :: LOOP für/F %% a in (streetfile.txt) tun (set/a num + = 1) set/a max =% num%/10015set/p var = Geben Sie ein, wie Viele Straßen, die Sie benötigen (MAX:% num%): Wenn% var% gtr% max% goto LOOPofc ist das Ergebnis anders als bei Verwendung des Taschenrechners (Wenn Sie 465 Straßen in cmd haben, ist das Ergebnis 60 in calc ungefähr 70)

Ich bin nicht sicher, ob ich der Bedeutung dieses Codes folge. Ermittelt dieser Code einen Prozentsatz dessen, was in% var% eingegeben wird? Ich gehe davon aus, dass jeder, der diesen Generator verwendet, wirklich nur zwischen 10 und 25 Straßen verwenden möchte, ich wollte nur Beschränken Sie die Anzahl der Eingaben, damit ein Tippfehler keinen Fehler verursacht oder zu viele Straßen erzeugt. Ich habe eine leere Karte unserer Stadtstraßen, aber es ist nur auf einem Standard-Blatt Papier (81/2 x 11) möglich, um zu viele zu verwenden Straßen auf ihm verursachen zu viel Durcheinander. Thx Devcom.-Step432

Nein, es macht "15%" der Straßen in einer Datei aus, in der Sie sie alle haben. Sie müssen also den Code nicht ändern, wie es der Seitenwind sagt, aber die Verwendung meiner Methode ist nicht exakt. 15% haben das Problem gefunden: Code: set/a max =% num%/10015 ändere dies: Code: set/a max =% num% 15/100dann genau 15% du meinst das? Code :: LOOPset/p var = Gib ein, wie viele Straßen du brauchst: if% var% lss 10 gehe zu LOOPif% var% gtr 25 gehe zu LOOPhope, das hilft

Vielen Dank für all die Hilfe, ich weiß es zu schätzen. Hier ist mein endgültiger Code, um zu sehen, was ich tue. Wenn jemand es testen möchte, erstelle einfach eine "STREETS.txt" -Datei und füge ein paar Zeilen ein, damit der Code aufgerufen werden kann. Code: TITLE Street Test Generator @ echo offcolor f0clsECHO ============ ================================ ECHO Americus Fire and Emergency ServicesECHO ============ ================================= ECHO. . ECHO MMM MMMMMM. MMMMMM MMI MM ECHO MM MM MM MM ,. ECHO M M. MMMMMM MMMMMM. MMMM. ECHO .MMMMMM. MM MM MO MM ECHO MM MN MM M. MMMMMM. MM.NMMMM MM.ECHO. . ... .ECHO =========================================== ECHO Street Test Generator 1.0ECHO ============================================ = WENN EXIST street_test.txt. (del street_test.txt.) setze idx = 0for/f "tokens = delims =" %% v in (STREETS.txt) do (rufe set/a idx = %% idx %% + 1 call set array. %% idx% % = %% v) ECHO.Echo ======================================== =========== ECHO.:againset/p var = HALLO% username% !! Geben Sie an, wie viele Straßen Sie benötigen (maximal 40): IF% var% GTR 40 GOTO againset cnt = 0ECHO.ECHO ========================== ======================== ECHO.:loop call set/a cnt = %% cnt %% + 1 set/a rnd =% random % %%% idx% + 1 Aufruf von echo %% array.% rnd %%% >> street_test.txt Aufruf von echo %% array.% rnd %%% falls% cnt% LSS% var% goto loopECHO.ECHO === ============================================== ECHO .Echo street_test.txt mit% var% streets wurde erstellt. ECHO.ECHO ================================= ================== ECHO.ECHO.pause

Benötigen Sie Unterstützung bei HP

In letzter Zeit schaltet sich mein HP Computer nach ein paar Stunden automatisch aus, wenn ich ihn abmelde. Wenn ich mich wieder anmelde, muss ich den Überspannungsschutz aus- und wieder einschalten, und dann beginnt mein Computer, den gesamten Neustartvorgang zu durchlaufen. Es dauert ewig. Ich habe einen USB-Belkin-Hub mit 4 Anschlüssen an meinen Überspannungsschutz und keine anderen Kabel an den USB-Hub angeschlossen. Ich hatte dieses Problem einige Tage, nachdem ich meinen neuen HP-Drucker installiert hatte. Kann mir jemand sagen, was passiert ist und wie man das korrigiert?

Ich bin mir nicht sicher, aber - Sie können mit der rechten Maustaste auf Eigenschaften auf dem Desktop klicken und dann die Registerkarte Bildschirmschoner auswählen. - Gehen Sie zur Energieverwaltung und sehen Sie, wie dies eingerichtet ist. Entscheiden Sie, wann Sie in den Standby-Modus wechseln möchten und ob Sie den Ruhezustand aktivieren möchten oder nicht. Versuchen Sie '' never '' für den Ruhezustand, aber lassen Sie Standby eine begrenzte Zeit sein. Um ehrlich zu sein, kann der USB-Hub keine Auswirkungen haben. Ebenso kann ich nicht erkennen, wie die Installation von Treibern für den Drucker zu Änderungen führen sollte, aber - überprüfen Sie zunächst die Energieeinstellungen, falls sie sich irgendwie geändert haben.

Beliebte Beiträge