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

Erklärung zu .bat set Befehlen

Mitglied: regedit19

regedit19 (Level 1) - Jetzt verbinden

21.07.2010, aktualisiert 19:51 Uhr, 4278 Aufrufe, 8 Kommentare

19Hallo,

Kann mir vielleicht jemand erkären, wie ich den Befehl "set" benutzen kann, dass ich mir einmal etwas Bildliches darunterf vorstellen kann,....
denn, wenn man die Beschreibungen liest, welches Rufueichen,oder Prozentzeichen was macht, dann kommt man schon einmal aus der Bahn, weil man sich nicht mehr auskennt.
Ich möchte wenn es irgendwie geht, und es muss gehen, sonst könnten nicht sooo viele, diese Sprache erlernen...

Ich mache schon sehr viel mit *.bat, aber an den Befehl "set" habe ich mich nochnicht herangefraut!

Ich hoffe es gibt jemanden, der es mir ansatzweise erklären kann, und mir sagen kann, wie er es selbst erlernt hat.

wäre sehr dankbar!

mfg
regedit19
Mitglied: 90776
21.07.2010 um 21:04 Uhr
Hallo

War vor einem Jahr auch soweit.

der set befehl erstellt eine temporäre Umgebungsvariable

Beispiele:

01.
set Test=Dies_ist_ein_Test
setzt die Variable Test mit dem Inhalt Dies_ist_ein_Test

um den inhalt der Variable aufzurufen

01.
echo %Test%
ergiebt: Dies_ist_ein_Test

es gibt noch den Befehl

01.
set /p Test=Bitte Text angeben: 
Fragt den Benutzer nach dem Inhalt der Variable Test

01.
set /a Zahl=1
Setzt den Inhalt der Variable Zahl mit einem numerischen Wert

01.
set
alleine

listet alle Umgebungsvariablen auf

01.
set Test
listet alle Umgebungsvariablen auf die mit Test beginnen

in einem Batch mit dem Befehl set wird die Variable nur solange gesetzt bis das Script beendet ist

PS.

01.
set Test=
löscht die Variable Test bzw. setzt einen leeren inhalt.

Grüsse
Switcher
Bitte warten ..
Mitglied: mathe172
21.07.2010 um 21:17 Uhr
Hallo regedit19!

Mit dem Befehl "set" kannst du eine Variable definieren. Variablen können praktisch alles speichern. Wenn du z.B. Text in ihr gespeichert hast, kannst du sie in deine Befehle einbauen. Das einzige was nicht geht, ist sie direkt als Befehl zu verwenden. Wenn du sie einsetzten willst, gib einfach %Variablenname% ein.

Benutzt wird set so:
01.
set variable=wert
Das geht auch und verhindert Leerzeichen am Ende der Variable (sie würden sonst dazukommen)
01.
set "variable=wert"
So kann man einer Variable einen Numerischen wert zuweisen:
01.
set /a "variable=zahl"
Rechnen geht z.B. so:
01.
set /a "zahl1=5" 
02.
set /a "zahl2=4" 
03.
set /a "ergebnis=%zahl1%+%zahl2%"
Das ergebnis wäre 9
Das geht auch(Der Wert wird zum Alten wert dazugerechnet(rechenoperation variabel))
01.
set /a "zahl1=5" 
02.
set /a "zahl2=4" 
03.
set /a "zahl1+=%zahl2%
Dabei hätte Zahl1 den wert 9
Es geht auch mit * und / und -
So kann der Benutzer etwas eingeben(der Befehl wartet auf das erste "Enter")
01.
set /p Variable="Das was davor steht: "
Und so wird die erste Zeile einer Datei eingelesen(eben bis zum ersten "Enter")
01.
set /p Variable=<Datei
Ich hoffe es ist verständlich

Mathe172

//Edit:War wohl jemand schneller...
Bitte warten ..
Mitglied: bastla
21.07.2010 um 21:23 Uhr
@10750
Schöne Erklärung ...

Nur
in einem Batch mit dem Befehl set wird die Variable nur solange gesetzt bis das Script beendet ist
wäre etwas zu relativieren:

Wenn davor ein "setlocal" durchgeführt wurde, werden tatsächlich alle Änderungen an einer bestehenden oder auch neu gesetzten Variablen beim nächsten "endlocal" (explizit oder automatisch am Ende des Batches) wieder "vergessen" - daher beginnen die meisten Batches (zumindest hier) mit
@echo off & setlocal
(um damit sicher zu stellen, dass keine "Variablen-Reste" zurückbleiben).

Wird der Batch (was zumindest in der Testphase dringend zu empfehlen ist) aus einer CMD-Shell gestartet und es gibt darin kein "setlocal", behalten sehr wohl die in diesem Batch geänderten oder erstellten Variablen ihren Wert, bis dieser (und damit die Variable) - wie oben beschrieben - gelöscht oder die CMD-Shell geschlossen wird.

Grüße
bastla
Bitte warten ..
Mitglied: 60730
21.07.2010 um 21:24 Uhr
moin,


ganz ehrlich?

wenn du deine Batche mit den gleichen Schreibfehlern schreibst, wie deine Frage - wird das sehr sehr sehr mühsam.

Wie ich batcheln gelernt hab?

Ganz einfach...

Dosbox - bzw. Dos war ja mal das OS und winblows gabs erst später - gestartet
Jede .exe .com mit einem /? gestartet und mir angesehen, was mir das Dingens erzählt - manche schrieben mir aber auch nix zurück.
Irgendwann mal gabs dann Compuserv und da tummelten sich die anderen, die Bücher gelesen haben und hin und wieder hat man eine fremdbatch inspiziert.

Und wenn du mal meinen "Fortschritt" in diesem Forum verfolgst - früher hatte ich eine eigene Art - batche zu schreiben, mittlerweile hab ich viel von den beiden Bs aus dem B Bereich übernommen.
z.B. hab ich früher gern errorlevel abgefragt - heute benutz ich fast nur noch && oder || - außer ich will zwischen 1,2 oder 3 unterscheiden können.
Bitte warten ..
Mitglied: bastla
21.07.2010 um 21:28 Uhr
@mathe172
Auch hybsch ...
BTW: Schon mal
01.
set /a "zahl1=5" 
02.
set /a "zahl2=4" 
03.
set /a ergebnis=zahl1+zahl2
versucht?

Übrigens:
Das einzige was nicht geht, ist sie direkt als Befehl zu verwenden.
01.
set "Inhalt=dir /s /b /a-d" 
02.
%Inhalt%
Grüße
bastla
Bitte warten ..
Mitglied: 90776
21.07.2010 um 21:59 Uhr
Danke Bastla

hatte ich vollkommen vergessen

Grüsse
Switcher
Bitte warten ..
Mitglied: regedit19
21.07.2010 um 23:05 Uhr
Zitat von 60730:
moin,


ganz ehrlich?

wenn du deine Batche mit den gleichen Schreibfehlern schreibst, wie deine Frage - wird das sehr sehr sehr mühsam.



Ich entschuldige mich, dass ich so viele Rechtschreibfehler gemacht habe, ich wollte meine Frage(n) noch fertig schreiben, bevor mein Akku leer war, darum habe ich nicht mehr auf die Rechtschreibfehler geschaut
Aber danke für den Hinweis!
Bitte warten ..
Mitglied: regedit19
21.07.2010 um 23:07 Uhr
Ich danke euch Allen, für die super Beschreibungen, und die detaillierte Ausführung dieser!

Freu mich sehr, und werde mich dahinterklemmen.....

mfg
regedit19
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH: Minuszeichen in set-Befehl
gelöst Frage von SchottenrockBatch & Shell3 Kommentare

Guten Morgen, ich komme gerade nicht weiter und es wit wohl nur eine Kleinigkeit, aber ich steh gerade auf ...

Batch & Shell
Set-Befehl funktioniert nicht
gelöst Frage von DschingisBatch & Shell7 Kommentare

Hallo zusammen, ich bin geraden dabei ein Programm zu erweitern. Dieses Programm soll das Feld "MobilePhone" im AD füllen. ...

Batch & Shell

Batchdatei: SET-Befehl funktioniert in IF ELSE nicht

Frage von Alicudi2000Batch & Shell9 Kommentare

Guten Tag In einer CMD-Batchdatei musste ich den Quellcode ändern, weil ich keine Variable im ELSE-Teil definieren konnte. Einen ...

Windows 10

DistributedCOM - Erklärung

Frage von KMUlifeWindows 10

Hallo zusammen! Ich sehe vermehrt Fehlermeldungen auf Clients im Netzwerken die mit DistrubedCOM ausgewiesen sind.ö z.B: Ich habe mal ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 5 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 11 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 15 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...