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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Batch - Random Zahl in Variable und Textdatei abspeichern

Mitglied: citroendsvier

citroendsvier (Level 1) - Jetzt verbinden

01.08.2014 um 12:49 Uhr, 1760 Aufrufe, 8 Kommentare, 1 Danke

Ich sitze an einer batch, die u.a. folgende Schritte abarbeiten soll:
1.: Namen einer anderen Batch aus einer Textdatei Text.txt auslesen und in Variable %nameold% speichern
2.: Eine Random Zahl erstellen und in der Variable %name% speichern
3.: Jene andere Batch umbennen in %name%.bat
4.: %name% in Text.txt speichern, dabei alten Inhalt überschreiben (bzw. alte Text.txt löschen und neue anlegen)

Es hakt aber beim zweiten und dritten Schritt.

Ich habe bis jetzt folgenden Code:

::Auslesen in Variable %nameold%
set /p nameold=<Text.txt

::%name% mit Zufallscode
set /a %random%==%name%

::Umbenennen der Datei in \Daten\
rename "F:\Daten\%nameold%.bat" %name%.bat

::löschen und neu anlegen der Text.txt
del /q /f Text.txt
%name% > Text.txt

Er will aber nicht recht die %random% in %name% speichern, wenn man sich %name% per echo %name% anzeigen lässt, kommt ,,Echo ist ausgeschaltet".

Und dadurch, hoffe ich, benennt er auch die andere batch nicht in [Zahl].bat, sondern in .bat um.

Also, meine Frage: Wieso kommt er mit set /a %random% == %name% nicht klar?
Und weiter: Wie kann ich den Laufwerksbuchstaben bestimmen, um ihn im rename verwenden zu können?
Mitglied: narthan
LÖSUNG 01.08.2014, aktualisiert um 17:38 Uhr
Hallo citroendsvier

Ich habe gerade nicht so viel Zeit und bin nur mit Handy online, aber folgendes ist mir aufgefallen:

Zitat von citroendsvier:
::%name% mit Zufallscode
set /a %random%==%name%

Versuche mal stattdessen:
01.
set /a name=%random%
Und anschließend mit %name% weiterarbeiten, darin sollte dann die Zufallszahl gespeichert sein.
Wenn ich daheim bin schau ich nochmal richtig deine Frage an, vlt. hilft das aber schonmal...

Bis dann, schönen Gruß,
narthan
Bitte warten ..
Mitglied: Gersen
LÖSUNG 01.08.2014, aktualisiert um 17:38 Uhr
Hallo,

Zitat von citroendsvier:

::%name% mit Zufallscode
set /a %random%==%name%

versuch doch mal
set /a name=%random%
Gruß,
Gersen
Bitte warten ..
Mitglied: citroendsvier
01.08.2014 um 14:12 Uhr
Danke für die Tipps, genau das war mein Fehler. Funktioniert jetzt, mir ist aber aufgefallen, dass die 5-stellige Zahl immer mit 239 anfängt. Mal 23902, mal 23915, dann 23925. Stört mich für die Anwendung nicht, trotzdem seltsam...

Wie kann ich das Problem mit dem Laufwerksbuchstaben lösen? Falls der USB stick, auf dem das ganze läuft, mal nicht F:\ ist? Ist der in irgendeiner Variable (%0 oder ähnlich) abgespeichert?
Bitte warten ..
Mitglied: citroendsvier
01.08.2014 um 14:32 Uhr
Ich habe jetzt weiter das Problem, dass er in die Textdatei Text.txt nicht nur die Zahl, sondern noch ein Leerzeichen und einen Zeilenumbruch reinspeichert. Kann man das irgendwie unterdrücken? Ich habe es schon so versucht:

set /p nameold=<Text.txt:~0,4

Hat aber leider nicht geholfen. Diese Art von Bearbeitung mag er wohl in dem Zusammenhang nicht. Wie kann ich die beiden Zusatzzeichen wieder löschen? Sonst funktioniert es immer nur einmal..
Bitte warten ..
Mitglied: Gersen
LÖSUNG 01.08.2014, aktualisiert um 17:39 Uhr
Laufwerk findest Du über
set laufwerk=%~d0
Bitte warten ..
Mitglied: Gersen
LÖSUNG 01.08.2014, aktualisiert um 17:38 Uhr
Sinnvollerweise das Leerzeichen gar nicht erst reinschreiben...
echo %name% > Text.txt
schreibt natürlich auch das Leerzeichen nach der Variablen in die Datei. Besser:
echo %name%> Text.txt
Der Zeilenumbruch, den "echo" immer macht, stört beim Einlesen der Variablen nicht.
Bitte warten ..
Mitglied: bastla
LÖSUNG 01.08.2014, aktualisiert um 17:38 Uhr
... und für den Fall, dass in %name% zB Wert 1, 2 oder 3 (oder ein anderer einstelliger und daher als Kanalangabe misszuverstehender Wert) stünde, würde
>Text.txt echo %name%
funktionieren (bei anderen Werten aber natürlich auch ).

Grüße
bastla
Bitte warten ..
Mitglied: citroendsvier
01.08.2014 um 17:35 Uhr
danke für die Antworten, seltsamerweise hatte ich noch keinen Wert unter 20k... anscheinend ist, wie ich beim googlen auch in einem englischsprachigen Forum gelesen habe, der Batch-Zufall nicht so ganz Zufall... Aber nochmal danke vielmals an alle!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zahlen aus Textdatei in Batch vergleichen
gelöst Frage von yspke24Batch & Shell7 Kommentare

Hi, ich habe schon stundenlang im Internet gesucht, konnte aber nichts Passendes finden. Ich habe eine Textdatei "time.log". In ...

Batch & Shell
In Batch random-Zahlen erzeugen mit führenden Nullen
gelöst Frage von DerWoWussteBatch & Shell6 Kommentare

Moin Kollegen. Ich kann per Variable %random% zwar Zufallszahlen erzeugen, weiß jedoch nicht, wie ich führende Nullen einbauen kann. ...

Batch & Shell
Batch - Zeilen einer Textdatei als Variable setzten,zählen und so oft Befehl ausführen
gelöst Frage von SnickaazBatch & Shell1 Kommentar

Halli Hallo, leider komme ich gerade nicht weiter mit meiner Batch-File. Bin auch nicht so der Profi (eher gar ...

Batch & Shell
Spalte einer Textdatei mit einer anderen Zahl überschreiben
Frage von THRILLERBatch & Shell2 Kommentare

Hallo zusammen, ich habe eine Textdatei mit den Namen "Info1.txt, Info2.txt, Info100.txt". Dabei hat jede Textdatei pro Zeile 3 ...

Neue Wissensbeiträge
Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 4 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit13 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen10 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk9 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...