Jump to content

Batch-Datei als Dienst laufen lassen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Forum,

 

wir haben folgendes Problem und wissen nicht mehr weiter.

 

Auf den Notebooks unserer Außendienstler sollen Dateien gesichert werden, sobald sich diese mit unserem Netzwerk per VPN verbunden haben.

 

Dazu nutzen wir Robocopy von Microsoft.

 

Wir haben dazu folgende Batch-Datei geschrieben, welche erst den Server in der Firma anpingt und bei Erfolg sich mit dem Backuplaufwerk zur Authentifizierung verbindet, dann Robocopy startet und nach Beendigung das Netzlaufwerk wieder trennt. Dieser Vorgang soll dann alle 5 Minuten (300 Sekunden) ausgeführt werden. Ist der Ping nicht erfolgreich, wird nach 300 Sekunden wieder ein Ping abgesetzt, solange, bis dieser erfolgreich ist.

 

Hier die Batchdatei:

 

@echo off

:1

sleep 300

ping -n 1 192.168.XXX.XXX | findstr "(0%"

if %errorlevel% neq 0 exit

net use \\192.168.XXX.XXX\BCK_Aussendienst$ /USER:Benutzername Passwort

robocopy.exe "C:\Dokumente und Einstellungen\%username%\Eigene Dateien" "\\192.168.XXX.XXX\BCK_Aussendienst$\%username%" /MIR /Z /COPY:DAT /MAX:5242880 /NP /IF *.txt /IF *.pdf /IF *.doc /IF *.xlsx /IF *.xls /IF *.docx /IF *.ppt /IF *.pptx /IF *.csv

net use \\192.168.XXX.XXX\BCK_Aussendienst$ /del

goto 1

 

Als Batchdatei funktioniert das Ganze einwandfrei - nur das Aufpoppen des CMD-Fensters stört. Darum wollen wir das Ganze als Dienst laufen lassen.

 

Die Kompilierung der Batch-Datei zur Exe-Datei haben wir mit dem Programm BatchCompiler (Freeware) durchgeführt. Diese Exe-Datei funktioniert auch noch einwandfrei.

 

Sobald wir aber den Dienst einrichten (mit Instsrv und Srvany von Microsoft) und starten, läuft der Befehl in einer Endlosschleife ab, ohne nach jedem Durchlauf 300 Sekunden zu warten. Dadurch verbraucht der Rechner bis zu 80% Kapazität und ein Arbeiten ist fast unmöglich.

 

Kennt noch jemand einen anderen Wartebefehl (wait.exe haben wir auch schon erfolglos ausprobiert) oder hat Erfahrung mit dieser Konstellation?

 

Vielen Dank im Voraus für Eure Antwortden.

 

Mfg, alessandro.

Link zu diesem Kommentar

Hallo alessandro,

 

für dein Vorhaben könnte ich dir die geplanten Tasks empfehlen.

Wenn es unsichtbar im Hintergrund laufen soll, einfach eine kleine .vbs Datei erstellen mit dem Inhalt

Set ShellWSH = CreateObject("WScript.Shell")
ShellWSH.Run "test.bat",0

Die 0 am Ende bewirkt, das der Task unsichtbar ausgeführt wird.

 

 

Gruß

 

Danny

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...