Jump to content

Batchprogrammierung (Zeit-Ausgabe am Bildschirm)


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

Empfohlene Beiträge

vor 16 Minuten schrieb Adenium:

Sollte jemand von Euch jedoch eine andere Idee haben, dann bin ich natürlich Offen.

Wie schon mehrfach erwähnt - cmd geht in seinen Wurzeln noch auf MS DOS aus den 80-ern zurück und ist in seinen Möglichkeiten sehr stark begrenzt. Deshalb gibt es inzwischen Powershell, die alles kann, was cmd früher konnte und eben noch viel viel viel viel mehr. ;-)  Mit Powershell wäre die Aufgabe, so wie Du sie hier beschrieben hast, in wenigen Minuten lösbar. Wenn Du beruflich in Windows-Umgebungen unterwegs bist, lohnt es sich auf jeden Fall, sich die Grundlagen von Powershell anzueignen.

Link zu diesem Kommentar
vor 4 Stunden schrieb BOfH_666:

Wie schon mehrfach erwähnt - cmd geht in seinen Wurzeln noch auf MS DOS aus den 80-ern zurück und ist in seinen Möglichkeiten sehr stark begrenzt.

 

Der heitige Kommandoprozessor ist nicht mehr der von MS-DOS. Der Befehlssatz des heutigen Kommandoprozessors bietet sehr viel mehr Möglichkeiten als der von MSDOS und CP/M für die Stapelverarbeitung. Natürlich bietet PS wesentlich bessere Möglichkeiten.

bearbeitet von lefg
Link zu diesem Kommentar
Am 25.11.2019 um 15:22 schrieb Adenium:

Die Zeit-Ausgabe soll zuerst vor dem Beginn eines Copy-Befehls anfangen in einer Schleife zu laufen, und wenn der Copy Befehl seine Aufgabe beendet hat, dann soll die neue Zeit (nach dem Copy) wieder ausgegeben werden.

 

Das geht so nicht wirklich als Batch(Stapel), denn der Prozessor arbeitet die Befehle des Stapels nacheinander ab. D.h. er führt den ersten Befehl aus und beendet ihn, führt den zweiten aus und beendet ihn, führt den dritten Befehl aus und beendet ihn. Den Kopiervorgang unterbrechen? Blödsinn, nicht wahr?! Robopcopy bietet doch alles.

 

Man könnte die Zeit des Batchstarts in eine Datei schreiben und im Fenster der Batch ausgeben, ebenso nach Ende des Kopiervorganges. Der Befehl für die Ausgabe im Fenster ist time/t. Mit time/t >> Startbatchtime.txt ginge es in eine Datei.

 

 

 

 

bearbeitet von lefg
Link zu diesem Kommentar

Huch, Henoch ist ja sogar hier im Forum aktiv :-):-) Nix für ungut, Edgar...

@Adenium Wie auch immer: Wenn Du was aktualisieren willst, während was anderes noch läuft, heißt das Multithreading. Und das ist in Skripts immer etwas - hm - aufwändiger? Heikler? Weiß auch nicht... Theoretisch hast Du nämlich 3 Threads: Main, der das Konsolenfenster anzeigt. #1, in dem der Robocopy läuft. #2, der die Zeit aktualisiert. Ggf. noch #3, der StdOut/StdErr von Robocopy abgreift und auch in Main einblendet. Glaubst Du, daß das mal eben schnell zu realisieren ist?

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