bat datei ---> %random% begrenzen
Guten Tag,
wenn ich mir eine *.bat Datei erstelle und den Befehlsinterpreten %random% ausführne lasse erzeugt mir der computer ja eine zufallszahl zwischen 0 und 32767 nun möchte ich aber nur eine 3 stellige zufallszahl oder anders herum eine 5 stellige zufallszahl geht das irgendwie? füe Hilfe bin ich dankbar...
mfg
Susi
Antwort schreiben
Antwort 1 von batti-batch vom 12.03.2020, 11:01 Options
Hallo SuZi,
die Begrenzung ist relativ einfach möglich, in dem Du von der durch
%random% erzeugten Zufallszahl nur die ersten drei Ziffern verwendest:
@ECHO off
SETLOCAL
SET variable=%random%
SET variable=%variable:~0,3%
ECHO %variable%
Da es theoretisch sein kann, das auf diese Weise ein- oder zweistellige Zahlen zustande kommen, könntest Du die möglicherweise fehlenden Stellen z.B. mit Nullen auffüllen.
Viel Spass beim Testen!
Herzliche Grüße
batti-batch
Antwort 2 von SuZi vom 12.03.2020, 13:03 Options
Hallo "batti-batch"
Danke für deine schnelle Hilfe hat prima funktioniert kennst du vieleicht auch den Dos befehl damit ich mich auf einen anderen Rechner über die cmd.exe im netzwerk einwählen kann?
Antwort 3 von batti-batch vom 12.03.2020, 13:36 Options
Hallo Suzi,
wenn es darum geht, sich ein Laufwerk von einem im Netz befindlichen Server zuzuweisen, käme der NET USE Befehl in Frage. Schau Dir mal mit NET USE /? die Hilfe zu diesem Befehl an.
Diesen Befehl kannst Du ohne weiteres in einem Batch-Programm verwenden.
Viel Erfolg!
Herzliche Grüße
batti-batch
Antwort 4 von SuZi vom 12.03.2020, 14:14 Options
Ja den kenn ich glaub ich schon... ich meinte aber den befehl wo dann anstelle meiner lokalen festplatte der netzwerk rechner steht und ich befehle als dieser rechner auf meinem rechenr ausführe also im prinzip wie remote über cmd.exe
danke nochmal
Antwort 5 von Ralfman vom 12.03.2020, 16:18 Options
Im Netzwerk mit der rechten Maustaste und dann Netzlaufwerk Verbinden. Es bekommt in Deinem arbeitsplatz einen Laufwerksbuchstaben zugewiesen. Selbstverständlich kannst Du die Festplatte so behandeln als währe diese in Deinem rechner Eingebaut (entsprechende Berechtigungen Vorausgesetzt). Oder meinst Du was anderes?
Ralf
Antwort 6 von SuZi vom 13.03.2020, 07:53 Options
Nein ist leider auch keine Netzlauferk...
#sart
Connecting to remote service... Ok
Microsoft Windows XP [Versionsnummer...]
<C> Copyright... bla bla bla
c:\windows\system32>
#ende
Das ist das cmd.exe Fenster was mir ARI (AdvacedRemoteInfo) wenn ich unter Tools auf remote shell klicke öffnet... Ich wähle mich praktisch auf den jeweiligen Rechner auf aber eben im "dos" Modus... Und somit sieht jeder Befehl den ich in diesem Fenster einmeissele aus als wenn er von diesem Remote PC kommt. Da ARI aber ja nur mit herkömmlichen Windows Befehlen arbeitet muss ja logischer Weise einen Befehl geben der mir das einwählen auf einen anderen Rechner (Rechte vorrausgesetzt) auch ohne ARI zu starten ermöglicht... Aber den hab ich halt noch nicht rausgefunden....
Danke trotzdem an alle Helferchen....
Antwort 7 von batti-batch vom 04.09.2020, 21:45 Options
Hallo zusammen,
nachdem mein einfacher Lösungsvorschlag in Antwort 1
SuZi offenbar zufriedengestellt hat, gilt dennoch der Grundsatz: Es gibt fast nichts, was nicht noch besser zu machen wäre.
Deshalb möchte ich einen weiteren Ansatz vorstellen, der das Problem einfacher und wesentlich eleganter löst.
SET /a variable=%random%%899+100
Dieses Beispiel
direkt für die Kommandozeile funktioniert folgendermaßen:
Die erste Zahl (im Beispiel 899) gibt die Obergrenze für die durch
%random% erzeugten Zufallszahlen an; die zweite Zahl (im Beispiel 100) wird zu der erzeugten Zufallszahl addiert. Damit wird verhindert, das die erzeugte Zufallszahl unter 100 liegt. Der Bereich der Zufallszahlen liegt in diesem Beispiel somit zwischen 100 und 999.
In einer Batch sieht das Ganze so aus:
@ECHO off
SETLOCAL
SET /a "variable=%random%%%899%+100"
ECHO %variable%
Viel Spass beim Testen!
Herzliche Grüße
batti-batch