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

Erklärung von DOS Kommandos

Mitglied: 13Stift37

13Stift37 (Level 1) - Jetzt verbinden

27.10.2014, aktualisiert 12:05 Uhr, 1071 Aufrufe, 7 Kommentare

Hallöchen

Ich habe aus einem anderen Tread hier aus dem Forum eine funktionierende Batch Datei für meine Zwecke gefunden und so bearbeitet, wie es mir mit meinem Wissen möglich war. Nun möchte ich aber gerne verstehen was dort eigentlich getan wird. Ich bin in der Programierer Welt noch ziemlich neu und habe früher nur in C Programmiert (Grundkenntnisse). Somit sind mir einige Befehle schon bekannt. Jedoch nicht alle. Mit der help funktion in der cmd habe ich ebenfalls keine Erleuchtung gefunden °~°
Hier ist einmal der Inhalt der Batch Datei:
01.
@echo off & setlocal enabledelayedexpansion 
02.
del C:\pcliste.txt 2>&1>nul 
03.
del C:\tvids.txt 2>&1>nul 
04.
for /L %%A in (0,1,254) do ( 
05.
for /F "tokens=3 delims= " %%B in ('tracert -h 1 -w 100 192.168.101.%%A ^| find "Routenverfolgung"') do @echo %%B >> c:\pcliste.txt ) 
06.
 
07.
For /F %%a in (c:\pcliste.txt) do ( 
08.
 
09.
FOR /F "skip=2 tokens=2*" %%i IN ('reg query "\\%%a\HKEY_LOCAL_MACHINE\Software\Wow6432Node\Teamviewer\Version4" /V "ClientID"') do (set /a "LAD=%%j" set /a "LAD=%%j" & @echo %%a !LAD! >> c:\tvids.txt) 
10.
11.
 
12.
type C:\tvids.txt 
13.
pause
Wäre Super wenn Ihr mir Zeile 4 - 9 erklären könntet

Mit freundlichen Grüßen.
Mitglied: ITvortex
LÖSUNG 27.10.2014, aktualisiert um 11:22 Uhr
Morgen,

hier findest du ein schöne Tutorial: http://www.administrator.de/wissen/tutorial-zur-for-schleife-155681.htm ...

Liebe Grüße
ITvortex.

PS: Falls dann noch erklärungsbedarf ist bescheid geben
Bitte warten ..
Mitglied: 13Stift37
27.10.2014 um 11:24 Uhr
Hey vielen Dank dafür!
Somit sind Zeile 5-7 schonmal verständlicher!

Allerdings habe ich Zeile 9 immer noch nicht verstanden. Was wird bei
01.
do (set /a "LAD=%%j" set /a "LAD=%%j" & @echo %%a !LAD! >> c:\tvids.txt)
genau getan?
Bitte warten ..
Mitglied: ITvortex
27.10.2014, aktualisiert um 11:44 Uhr
cmd:

01.
set /?


01.
Die /A-Option gibt an, dass die Zeichenfolge rechts vom Gleichheitszeichen 
02.
ein numerischer Ausdruck ist, der ausgewertet wird. Das Auswertungsprogramm 
03.
des Ausdrucks unterstützt dabei die folgenden Vorgänge, entsprechend ihrer 
04.
Anordnung mit abnehmendem Vorrang: 
05.
 
06.
 
07.
    ()                  - Gruppierung 
08.
    ! ~ -               - monäre Operatoren 
09.
    * / %              - arithmetische Operatoren 
10.
    + -                 - arithmetische Operatoren 
11.
    << >>               - logische Verschiebung 
12.
    &                   - bitweise UND 
13.
    ^                   - bitweise exklusives ODER 
14.
    |                   - bitweise ODER 
15.
    = *= /= %= += -=    - Zuordnung 
16.
    ,                   - Trennzeichen für Ausdrücke 
17.
 
18.
Wenn Sie einen der arithmetischen oder Moduloperatoren verwenden, müssen 
19.
Sie die Zeichenfolge für den Ausdruck in Anführungszeichen setzen. Alle 
20.
nicht-numerischen Zeichenfolgen im Ausdruck werden als Zeichenfolgen von 
21.
Umgebungsvariablen behandelt, deren Werte vor der Verwendung in Zahlen 
22.
konvertiert werden. Wenn eine Umgebungsvariable angegeben wird, die nicht 
23.
definiert ist, wird für diese der Wert Null verwendet. Somit können Sie 
24.
mit Umgebungsvariablen Berechnungen vornehmen, ohne %-Zeichen einzugeben, 
25.
um deren Werte zu erhalten. Wenn der Befehl SET /A von der Befehlszeile, 
26.
d.h. außerhalb eines Befehlsskripts ausgeführt wird, dann zeigt er 
27.
den endgültigen Wert des Ausdrucks an. Der Zuordnungsoperator erfordert 
28.
eine Umgebungsvariable auf der linken Seite des Operators. Numerische Werte 
29.
stellen immer Dezimalzahlen dar, es sei denn, sie haben ein Präfix 0x für 
30.
hexadezimale Zahlen, 0b für binäre Zahlen oder 0 für oktale Zahlen. Damit 
31.
stellt 0x12 dieselbe Zahl wie 18 oder 022 dar. Beachten Sie, dass die oktale 
32.
Schreibweise verwirrend sein kann: So sind 08 und 09 keine gültigen Zahlen, 
33.
da 8 und 9 keine erlaubten oktalen Ziffern sind.
Liebe Grüße
ITvortex
Bitte warten ..
Mitglied: 13Stift37
27.10.2014, aktualisiert um 12:01 Uhr
01.
set /a "LAD=%%j" set /a "LAD=%%j"
Was bedeutet denn LAD und wieso wird 2 mal die Variable &&j gesetzt? In der .txt datei später steht an dieser stelle nur der Computer Name und der Domänen Name.
01.
@echo %%a !LAD! >> c:\tvids.txt
Und was hat hier das !LAD! wieder zu bedeuten?

Ich bin leicht verwirrt °~°

Ausgabe in der tvids.txt ist:
01.
Test-PC-1.test.netz 123456789 
(123456789 == TeamviewerID)
Bitte warten ..
Mitglied: miniversum
27.10.2014 um 12:29 Uhr
Hallo,

das macht für mich so auch keinen Sinn und (ungetestet) würde ich fast behaubten das Du da auch eine Fehlermeldung sehen müstest.
set /a "LAD=%%j" set /a "LAD=%%j"
ist einfach nur doppelt und du kannst das erste weglassen.
Was hier passiert wäre dann ein speichern des entsprechenden Registryeintrags in der Variabeln %%j.
Dann wird durch:
set /a "LAD=%%j" & @echo %%a !LAD! >> c:\tvids.txt
der Eintrag %%J in LAD hinterlegt.
di eVariable LAD kanns tdu dann normalerweise mit %LAD% abrufen. Dies funktioniert allerdings nicht innerhalb einer Schleife. Daher wurde hier in Zeile 1 setlocal enabledelayedexpansion ausgeführt wodurch dies dann mmöglich wird. Dafür musst Du dann allerdings nicht %LAD% sondern !LAD! benutzen.
Das Echo gibt dann also den jeweiligen eintrag aus pcliste.txt zusammen mit dem zugehörigen registry Eintrag LAD aus.
Da LAD anschließend nicht mehr vernwendet wird kannst du dir das Ganze mit !LAD! aber auch spaaren und direkt %%J benutzen. Das würde dann so ausehen:
FOR /F "skip=2 tokens=2*" %%i IN ('reg query "\\%%a\HKEY_LOCAL_MACHINE\Software\Wow6432Node\Teamviewer\Version4" /V "ClientID"') do (echo %%a %%J >> c:\tvids.txt)
Bitte warten ..
Mitglied: 13Stift37
27.10.2014, aktualisiert um 12:46 Uhr
Hallo miniversum!

Danke für diese Logische erklärung
Ich habe einmal deinen Code ausprobiert, nun bekomme ich allerdings die TeamViwer ID nicht mehr angezeit. Nun steht dort:
01.
Test-PC-1.test.netz 0x36c74755
Was hat das zu bedeuten? :D

//Edit:

Ich habe es nun so gemacht:
01.
set /a "LAD=%%j" & echo %%a !LAD! >> c:\tvids.txt
Und er zeigt mir die richtige ID wieder an.
Du hattest mit dem doppelt abfragen recht, war nicht nötig. Und das mit dem LAD ist mir nun auch einigermaßen klar.

Ich markiere dies nun als gelöst, da ich den Code nun verstanden habe.

Vielen Dank für eure Hilfe!
Bitte warten ..
Mitglied: miniversum
28.10.2014 um 12:54 Uhr
Hallo,

ok dann ist mir klar warum der Umweg über set. ich behaubte mal ganz frech das 0x36c74755 einfach nur der Hexwert der ID ist.
Da ist kein TeamViewer verwende kann ich es auch nicht hier testen.

Gruß
Bitte warten ..
Ähnliche Inhalte
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 ...

Netzwerkgrundlagen
Erklärung zu PoE
gelöst Frage von Napster9Netzwerkgrundlagen5 Kommentare

Hallo Community, ich als Laie habe einige Fragen zur Funktion von PoE. Wenn ich beispielsweise ein oder mehrere Telefone ...

Batch & Shell
Erklärung Batch
Frage von AnrionBatch & Shell6 Kommentare

Hallo Leute, Ich benötige Hilfe beim verstehen der Batch-Datei: 1 echo off &setlocal 2 for /r %%i in (*.00s) ...

Weiterbildung
Mailfluss Erklärung
gelöst Frage von netscratWeiterbildung4 Kommentare

Moin Moin, ich würde mir gerne noch viel mehr Wissen zum Themebereich des "Mailflows" aneignen. Das Thema umfasst für ...

Neue Wissensbeiträge
Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 StundeDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

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 5 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. ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
Frage von a-za-zNetzwerkmanagement13 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

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

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

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 ...

Router & Routing
Firewall Homeoffice
Frage von leon123Router & Routing6 Kommentare

Hallo zusammen, ich möchte meine beiden Rechner von der Firma vom Heimbereich abtrennen. Die Fritzbox kann leider nur den ...