Jump to content

Batch-Datei


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

Empfohlene Beiträge

habe kruz was anderes probiert.. Und zwar in der Batch auf dem Remoterechner die

\\Rechnername\Programme\VerzeichnisDerExe\*.exe A hinzugefügt... Bei Lokal Ausführung wird die die *.exe A angestossen.. Stosse ich die bat mit der exe über das Netzwerk an, so passiert nichts, aber der Pfad ist nun nicht mehr das Problem...

 

Mit dem Setzen des Pfades hat auch nciht weiter geholfen.. Die *.exe will nicht ausfgeführt werden, wenn ich sie über das Netzwerk anstosse...

 

...

Link zu diesem Kommentar

ok, ich habe mir eine *.exe mal zum testen gebastelt... Wenn ich jetzt mit psexec auf PC1 folgendes ausführe psexec \\PC2 c:\test\test.exe, dann führt der mir die *.exe nur auf PC1 aus und nicht auf PC2....???

 

Wie kann ich das den handhaben, dass er mir die exe auf dem PC ausführt...

 

Passiert selbiges auch bei der Variante mit MS-DOS Befehlsreferenz??

Dann ist ja kein Wunder, dass da nichts klappt..

Link zu diesem Kommentar

@finanzamit

 

Um nochmal auf deinen Vorschlag zurückzukommen.. Du meinst also, das sollte mit einer Batch wie dieser funktionieren??

 

@ECHO OFF

 

IF NOT EXIST C:\TEST\Tuwas.txt GOTO Ende

IF EXIST C:\TEST\Tuwas.txt DEL C:\TEST\Tuwas.txt > NUL

... Dein Batchcode ...

:Ende

 

Dazu baern och ein paar Fragen.. Er fragt ja ab, ob diese tuwas.txt existiert oder nicht.. Das tut sie doch so oder so... Verstehe nicht so ganbz was das ganze bewirken soll...?

 

Gruss

Link zu diesem Kommentar

Hi FirstTime!

... nein, die Tuwas.txt existiert eben nicht so oder so. Schau Dir noch mal die Batch an:

@ECHO OFF

REM Wenn die Datei Tuwas.txt nicht existiert,

REM springe an die Sprungmarke Ende

REM Hinter Ende kommt nichts mehr, also ist

REM GOTO Ende gleichbedeutend mit

REM Beende die Batch

IF NOT EXIST C:\TEST\Tuwas.txt GOTO Ende

 

REM Wenn die nächste Zeile abgearbeitet wird,

REM ist die Tuwas.txt vorhanden ... anderfalls

REM hätte es ja in der vorigen Anweisung den

REM Sprung nach Ende gegeben.

REM Da sie existiert, wird sie aber jetzt

REM gelöscht, damit nicht ... Dein Batchcode ...

REM ausgeführt wird, wenn das nächste Mal

REM der Scheduler diese Batch aufruft.

IF EXIST C:\TEST\Tuwas.txt DEL C:\TEST\Tuwas.txt > NUL

 

... Dein Batchcode ...

 

:Ende

 

Sinn der ganzen Angelegenheit ist ja, daß der Scheduler die Batch z.B. alle 10 Minuten aufruft. Hattest Du dann von Deiner Workstation aus die Datei Tuwas.txt erzeugt, wird ...Dein Batchcode ... ausgeführt. Hattest Du die Tuwas.txt nicht erzeugt, dann wird ... Dein Batchcode ... einfach übersprungen und die Batch beendet, ohne daß was passiert.

10 Minuten später wiederholt sich das Spiel. Und solange Du nicht von Deiner Workstation aus die Tuwas.txt erzeugt hattest, wird sich am "Nichtstun" nichts ändern. Hattest Du sie aber angelegt, wird beim nächsten Mal die Batch sie sogleich löschen. Allerdings ist sie dann auch schon an einer Stelle, wo es keinen Sprung mehr zum Ende gibt. Also wird ... Dein Batchcode ... ausgeführt. Wieder 10 Minuten später ist die Tuwas.txt natürlich nicht da ... weil sie ja gelöscht wurde und das Spiel geht von vorn los.

Gegrüßt!

Link zu diesem Kommentar

Moin moin,

 

ich habe das mit psexec mal getestet wie folgt:

 

Auf r201-pc01 wurde plaziert:

 

c:\test.bat

 

mit dem Inhalt:

 

md c:\test

pause

 

Auf meinem Rechner r202-admin liegt c:\psexec.exe, auf dem Desktop eine Verknüpfung dafür. Darin ist als Ziel eingetragen:

 

C:\psexec.exe \\r201-pc1 c:\test.bat

 

Mit Klick auf die Verknüpfung hat es den "Anschein", die Batch werde auf meinem Rechner(r202-admin) ausgeführt. Aber, es wird lediglich die Ausführung auf dem Remoterechner gezeigt. Das ist bei genauem Hinsehen auch erkennbar.

Auf dem Remoterechner wird die Ausführung nicht angezeigt, das würde auch keinen Sinn machen. Oder? Schliesslich soll der Benutzer daran nicht bei seiner Arbeit durch administrative Tätigkeit gestört werden.

 

Gruß

 

Edgar

Link zu diesem Kommentar

Hi!

Jetzt hab ich ein Fragezeichen im Gesicht: Nach Post #3 und #5 soll das Programm doch auf der anderen Kiste laufen und von Deiner Kiste aus angestoßen werden.

 

Wieso ist das jetzt ein Problem ... "daß das Programm dennoch auf der lokalen Maschine ausgeführt wird."

 

Auf der lokalen Maschine (Deiner Kiste) ist doch die Batch weder vorhanden noch wird sie ausgeführt. Da wird doch nur mit Time /T > \\Rechner\c$\Test\TuWas.txt (als eigene Batch oder auch nur in der Kommandozeile eingetippt) zur Steuerung benutzt.

Gegrüßt!

Link zu diesem Kommentar

Das war jetzt nciht auf dein Posting bezogen..

 

Aber nun nochmal... Ich fasse zusammen..

 

Auf PC1 stosse ich eine Batch an...

 

\\PC2\Test\test.bat \\mit eingerichteter Freigabe

 

Diese Batch erzeugt eine Datei namens test.txt...

 

Diese test.txt befindet sich auf PC2 nach dem batch angestossen wurde.

 

Nun existiert diese Batch, wenn ich die einmal anstosse, läuft sie immer weiter richtig (mit :loop)

 

@ECHO OFF

:loop \\Damit ersetze ich den Scheduler, richtig..?? und wenn ich die batch anstosse, wiederholt sie so lange bis was passiert...?

 

IF NOT EXIST C:\Test\test.bat GOTO Ende

 

IF EXIST C:\Test\test.bat C:\Test\test.bat > NUL

 

c:\test\test.exe A

 

:Ende

 

 

Gruss

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