Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Mit Batch Netzwerkverbindung prüfen

Frage Entwicklung Batch & Shell

Mitglied: pemi

pemi (Level 1) - Jetzt verbinden

18.08.2006, aktualisiert 19:37 Uhr, 21618 Aufrufe, 7 Kommentare

Hallo Leute,

wie kann ich per Batch prüfen ob ein PC im Netzwerk zu erreichen ist bzw. ob bereits ein Netzlaufwerk zu diesem PC verbunden ist?

Es geht darum, dass mein kleines Batch-Programm Dateien zur Sicherung auf einen anderen PC kopieren soll, aber vorher prüfen soll, ob dieser PC überhaupt im Netzwerk verfügbar ist bzw. ob das Netzlaufwerk (auf das kopiert werden soll) bereits verbunden ist (sollte eig. standardmäßig verbunden sein).

Falls der PC nicht im Netz verfügbar ist, sollte eine Fehlermeldung in eine Log-Datei ausgegeben und das Programm beendet werden. Falls der PC verfügbar ist, das Netzlaufwerk aber (wieso auch immer) nicht verbunden ist, so soll dieses verbunden werden.

Danke für Eure Hilfe! Gruß

pemi
Mitglied: leknilk0815
18.08.2006 um 16:28 Uhr
Hi,

hab Dir der Einfachheit halber mein Script (danke an Biber) reinkopiert.
Es sollte Deine Anforderungen erfüllen, bei mir startet es halt noch den Rechner per WOL, wenn dieser nicht läuft, statt dessen kannst Du eine log- Datei damit befüllen.

Hier das Script:

01.
@echo off 
02.
 
03.
ping tonixp | find /i "Reply" && goto :nostart || goto :lanstart1 
04.
 
05.
:nostart 
06.
 
07.
rem net use z: /d 
08.
net use z: \\tonixp\sikoneu 
09.
 
10.
 
11.
xcopy /D /E /Y /C /H /F d:\*.* z:\ 
12.
 
13.
 
14.
rem net use z: /d 
15.
exit 
16.
 
17.
 
18.
:lanstart1 
19.
D:\usage\Sikostart\LANStartCMD.exe 00-22-2E-41-6F-14 
20.
ping -n 40 tonixp | find /i "Reply" && goto :lanstart2 || goto :lanstart1 
21.
:lanstart2 
22.
ping -n 20 tonixp 
23.
net use z: /d 
24.
 
25.
net use z: \\tonixp\sikoneu 
26.
 
27.
xcopy /D /E /Y /C /H /F d:\*.* z:\ 
28.
 
29.
rem net use z: /d 
30.
 
31.
 
32.
D:\usage\Sikostart\shutdown -f -s -m \\tonixp 
33.
 
34.
ping -n 10 tonixp 
35.
 
36.
D:\usage\Sikostart\shutdown -f -s -m \\tonixp 
37.
 
38.
ping -n 10 tonixp 
39.
 
40.
D:\usage\Sikostart\shutdown -f -s -m \\tonixp 
41.
 
42.
exit
Bitte warten ..
Mitglied: pemi
18.08.2006 um 16:42 Uhr
Super, danke.
Genau das was ich gebraucht hab.
Gruß
pemi
Bitte warten ..
Mitglied: alpha-centauri
18.08.2006 um 17:05 Uhr
respekt
Bitte warten ..
Mitglied: leknilk0815
18.08.2006 um 17:37 Uhr
eines in dem Script hab ich noch vergessen zu erwähnen:

wenn Du eine deutsche OS- Version verwendest, musst Du im Script den Begriff "Reply" ersetzen durch "Antwort" (ping englisch / deutsch unterschiedlich)
Bitte warten ..
Mitglied: AxelHahn
18.08.2006 um 18:22 Uhr
Nachtrag:
(1) um zu prüfen, ob das Backup-Verzeichnis da ist, kann man ein dir auf den UNC-Namen machen. Im Fehlerfall schreibt man ins Log, dass der Rechner nicht da war
(2) Zum Kopieren von Daten braucht man das Remote-Verzeichnis nicht zu verbinden. Wenn man nur die Differenz der Verzeichnisse abgleichen will, sollte man Robcopy nehmen (ist imMS Ressource Kit - findet man aber auch so im Netz - Version 1.96 glaube ich).


set remotedir=\\rechner2\backup\

dir %remotedir% >nul 2>&1 || goto nichtda
... Kopieren starten ...
goto ende

:nichta
echo SORRY, Zielverzeichnis nicht verfügbar/ Rechner aus.
goto ende

:ende



Viele Grüsse
-= Axel =-
Bitte warten ..
Mitglied: Biber
18.08.2006 um 18:50 Uhr
Moin pemi,

Zwei Fussnoten noch zu leknilk0815s Beispiel und Ping mit "Reply"/"Antwort"

1) Eigentlich reicht Dir ja vom Ping-Befehl die Rückmeldung: "Hat geklappt"/"Hat nicht geklappt".
Also würde auch im obigen Beispiel reichen
01.
(ping tonixp >nul)|| goto :lanstart1
...das reicht vollkommen, und es ist völlig egal, ob in der Ping-Ausgabe "Antwort" oder "Reply" oder "Gottfried" steht.

2) Bevor Du es aber darauf verkürzt:
Bei einigen ausgelieferten Ping.exe-Versionen hat M$ offensichtlich ausnahmsweise auf die Qualitätssicherung verzichtet...
Da liefert die Ping.exe bei einem "Kann-Server-nicht-erreichen"-Fall den ErrorLevel 0 (=alles prima).

Also vorher einmal testen am Cmd-Prompt:
01.
(ping www.web.de>nul) || echo www.web.de nicht erreicht 
02.
(ping www.diesenServerGibtEsNicht.de>nul) || echo www.diesenServerGibtEsNicht.de nicht erreicht
Du solltest, wenn Deine Ping.exe OK ist, EINE Ausgabe bekommen (Fall 2).
Falls nicht: Dann verwende die Ping-Find-Mimik, wie von Toni skizzert.

Gruß
Biber
P.S. Ich formatiere mal Toni's Code als code.
Bitte warten ..
Mitglied: leknilk0815
18.08.2006 um 19:37 Uhr
@Biber:
Danke für die Formatierung, nun sieht's ja fast schon professionell aus
(ich wollt halt nicht übertreiben...)

Gruß aus Tölz - Toni
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Mittels Batch jede Zeile einer Textdatei prüfen (4)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch um mehrere IP-Adressen via Ping auf Erreichbarkeit zu prüfen (5)

Frage von Galindiesel zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...