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

Ich habe das dumme Gefühl das es darum geht jemandem einen Trojaner unterzuschieben und ihn dann remote zu starten.

 

Ist nur ein Gefühl, muß nicht stimmen...

 

:D Ja ne is klar... Und sonst habe ich auch nichts zu tun... Abgesehen davon würde so ein Vorhaben etwas einfacher von statten gehen... ;)

 

 

Aber meine letze Frage, die ich noch habe ist:

Wie und wo platziere ich eine loop-Schleife in einem Batch-Script?

 

Gruss

Link zu diesem Kommentar

Ok, Danke...

 

Ich muss noch einmal etwas wissen....

 

Wie sieht es aus, kann ich auch ein Interval setzen in der Batch-Datei, dass er mir das ganze nur alle z.B. 60 Sekunden wiederholt??

Die CPU-Auslastung ist doch etwas sehr hoch.

 

Wenn ich mit dem Taskmanager eine Batch z.B minütlich wiederholt, flackert ja in diesem Abstand auch kurz das DOS-Fenster auf...

Gibt es da eine Abhilfe?

 

Gruss

Link zu diesem Kommentar

Sei dir doch darüber im klaren, in einer Schleife wird ein darin eingebundenes Programm immer wieder als neue Instanz gestartet, so der Programmzeiger des Prozessors darauf springt.

 

Ich schätze mal, du unterliegst da einem Irrtum hinsichtlich des Programmablaufes in Mikrocomputern allgemein und auch besonders bei Windows.

 

Eine Batch kann leicht den Prozessor auslasten.

Link zu diesem Kommentar

Nein, ein Unterbrechen und späteres Fortführen dieser Schleife ist nicht wirklich möglich. Es gibt zwar den Pause und den Wait(extern), die Batch läuft trotzdem weiter. Diese Schleife ist eine Eigenkonstruktion.

Bedenke, die Stapelprogrammierung ist eine verhältnismässig primitive Angelegenheit. Sie wurde in MSDOS inplementiert unter anderem zum Konfigurieren des Systems(Autoexec.bat), für einfache Installationsroutinen u.s.w. Batchprocessing ist kein Ersatz für eine höhere Programmiersprache (Basic, Pascal).

 

Falls du zyklisch ein Programm aufrufen willst, so ist ein Scheduler schon das Richtige. Es muss nicht unbedingt der Geplante Tasks sein.

Link zu diesem Kommentar

@Edgar: Hallo, ich grüße Dich heute mal auf diesem Wege. Wenn ich FirstTime richtig verstanden habe, geht es ihm einfach nur darum, daß ohne Remotesitzung auf seinem 2. PC lokal eine .EXE mit Parameter ausgeführt wird. Er will oder kann halt weder hingehen noch remote Zugriff nehmen, um sie vor Ort anzustoßen. Ich hab sowas früher (ohne Remote und Turnschuh) immer dann gemacht, wenn ich eine andere Kiste umfangreiche Berechnungen, Sicherungskopien, Downloads, Compilate etc. ausführen lassen wollte, mit denen ich meine Workstation verschonen wollte - weil ich deren Kapazität brauchte.

 

@FristTime:

Ich glaub, da sitzt noch wo ein Mißverständnis. Ich schreib mal alles noch mal auf und hoffe, daß es Dir nicht auf den Zeiger geht.

 

Du sitzt an PC1.

Auf PC2 gibt es eine der beiden folgenden Batche. Je nachdem, ob Du den Scheduler nutzt oder nicht, startest Du dort die TestMitLoop.BAT oder scheduled die TestOhneLoop.BAT

 

@ECHO OFF

REM Batch auf PC2 namens TestMitLoop.BAT

:loop

REM Hier würde ich mit der nächsten Zeile noch

REM eine Verzögerung von z.B. 30 Sekunden einbauen

WAIT 30

IF NOT EXIST C:\TEST\TUWAS.TXT GOTO loop

REM Warteschleife ist hier beendet.

REM Auslöser-Datei wieder löschen

IF EXIST C:\TEST\TUWAS.TXT DEL C:\TUWAS.TXT > NUL

REM Exe aufrufen

C:\TEST\TEXT.EXE A

 

 

Mit Scheduler entfiele das Loop

@ECHO OFF

REM Batch auf PC2 namens TestOhneLoop.BAT

REM Ohne Auslöser gleich ans Ende

IF NOT EXIST C:\TEST\TUWAS.TXT GOTO Ende

REM Mit Auslöser den zunächst löschen

IF EXIST C:\TEST\TUWAS.TXT DEL C:\TUWAS.TXT > NUL

REM Exe aufrufen

C:\TEST\TEXT.EXE A

:Ende

 

*************************

 

In beiden Fällen steuerst Du die Batche von außen, indem Du von PC1 aus auf PC2 und dort in C:\TEST die Datei TUWAS.TXT erzeugst. Ich gehe davon aus, daß Du auf PC2 das Verzeichnis C:\TEST unter dem Namen TEST freigegeben hast.

Um diese Datei zu erzugen, legst Du irgendwo (!) auf PC1 diese Batch an:

 

@ECHO OFF

REM Batch auf PC1 namens TEST_AUF_PC2_STARTEN.BAT

REM Erzeugt auf \\PC2\TEST die Datei TUWAS.TXT

REM und schreibt das einfach die aktuelle Zeit rein

TIME /T > \\PC2\TEST\TUWAS.TXT

REM Mehr solls nicht sein

 

Jedesmal, wenn Du die TEST_AUF_PC2_STARTEN.BAT aufrufst (könntest ja eine Desktop-Verknüpfung anlegen), wird die Batch auf PC2 die TEST.EXE mit dem /A - Parameter starten. Garantiert.

Gegrüßt

 

PS.: Wenn Du in der Batch WAIT verwendest, ist die Prozessorbelastung minimalst. Habe es gerade ausprobiert. Und wenn Du auf PC2 einen Desktop-Link zu der Batch legst, kannst Du in den EIgenschaften auch bei der Ausführung "minimiert" wählen.

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