Frage

Gibt es einen Weg durch eine .bat Skript zu Schritt? Die Sache ist, ich habe ein Build-Skript, das viele andere Skripte aufruft, und ich möchte, um zu sehen, was ist die Reihenfolge, in der sie genannt werden, so dass ich weiß, wo genau muss ich gehen über und meine Änderungen hinzufügen .

War es hilfreich?

Lösung

Ich weiß nicht, von ohnehin durch die Ausführung einer BAT-Datei zu dem Schritt, aber Sie können echo und pause verwenden, um mit dem Debuggen zu helfen.

  

ECHO
  Wird Echo eine Nachricht in der Batchdatei. Wie ECHO Hallo Welt wird Hallo Welt auf dem Bildschirm gedruckt werden, wenn sie ausgeführt. Doch ohne @ECHO OFF zu Beginn der Batch-Datei finden Sie auch „ECHO Hallo Welt“ und erhalten „Hallo Welt.“ Schließlich würde, wenn Sie nur eine leere Zeile erstellen möchten, geben Sie ECHO. die Zeit am Ende des Hinzufügen erstellt eine leere Zeile.

     

PAUSE
  Den Benutzer auffordern, eine beliebige Taste drücken, um fortzufahren.

Quelle: Batch File Hilfe

@ workmad3. Antwort hat mehr gute Tipps für die mit dem Befehl echo Arbeits

Eine weitere hilfreiche Ressource ... DDB: DOS Batch File Tipps

Andere Tipps

Stellen Sie sicher, dass es keine ‚echo off‘ Aussagen in den Skripten und rufen Echo auf 'nach jedem Skript aufrufen jeder verpassten zurückgesetzt werden.

Der Grund hierfür ist, dass, wenn Echo schaltet bleibt, dann wird der Befehlsinterpreter ausgibt jeden Befehl (nach der Parameterverarbeitung) vor der Ausführung. Macht es wirklich schlecht aussieht für in der Produktion, aber sehr nützlich für Debug-Zwecke, wie Sie sehen können, wo Ausgabe schief gegangen ist.

Also, stellen Sie sicher, dass Sie den Errorlevel durch die genannten Batch-Skripte und Programme festgelegt werden überprüft. Denken Sie daran, dass es 2 verschiedene Methoden in .bat-Dateien zum Einsatz. Wenn Sie ein Programm namens, die Fehlerstufe ist in% Error-%, während von Batch-Dateien der Fehlerstufe in dem Errorlevel Variable zurückgegeben wird und nicht% braucht 's drum herum.

Mit Blick auf ähnliche Bedenken, fand ich folgendes Werkzeug mit einer trivialen Google-Suche:

JPSoft die " Take Command " enthält eine Batch-Datei IDE / Debugger. Ihr kurze Präsentation Video zeigt es schön.

Ich verwende die Testversion seit ein paar Stunden. Hier ist meine erste bescheidene Meinung:

  • Auf der einen Seite ermöglicht es in der Tat das Debuggen BAT- und CMD-Skripte und ich bin jetzt überzeugt, dass es in ganz bestimmten Fällen helfen kann,
  • Auf der anderen Seite, ist es manchmal blockiert und ich musste es töten ... besonders, wenn Indizes (nicht immer systematisch) Debuggen .. es nicht einen „Call-Stack“ nicht zeigt noch eine „step out“ Taste.

Es deverves versuchen.

Ich fand (win32) Software ‚Schritte laufen‘ genau das, was ich suchte: http://www.steppingsoftware.com/

Sie können eine Bat-Datei, Platz Stützpunkte laden / starten durch sie verstärkt, während die Ausgangs- und Umgebungsvariablen zu sehen.

Die Testversion erlaubt nur durch 50 Zeilen zu Schritt ... jemand eine kostenlose Alternative mit ähnlicher Funktionalität Hat?

rem aus der @ECHO OFF und rufen Sie Ihre Batch-Datei redirectin alle Ausgaben in einer Protokolldatei ..

C:> yourbatch.bat (optional Parameter)> yourlogfile.txt 2> & 1

gefunden unter http://www.robvanderwoude.com/battech_debugging.php

ES FUNKTIONIERT !! vergessen Sie nicht, die 2> & 1 ...

WIZ

Die einzige Art, wie ich denken kann, ist spinkle den Code mit echos und pauses.

Haben Sie versucht, das Ergebnis in eine Datei zu umleiten? Wie whatever.bat> log.txt

Sie müssen sicherstellen, dass jeder andere genannte Skript in diesem Fall auch in die Datei protokolliert wie >> log.txt

Auch wenn Sie ein Datum / T und Zeit / T am Anfang und am Ende dieser Batch-Datei setzen, werden Sie die Zeit bekommen es an diesem Punkt war, und Sie können Ihre Skript Laufzeit und Reihenfolge zugeordnet werden.

oder .... Rufen Sie Ihre Haupt-.bat-Datei aus einer anderen .bat-Datei und gibt das Ergebnis zu einer Ergebnisdatei d.

runner.bat> mainresults.txt

Wo runner.bat ruft die Haupt .bat Datei

Sie sollten alle Aktionen sehen jetzt in der Haupt .bat Datei ausgeführt

oder ein cmd Fenster öffnen, dann die Batch-Aufruf von dort aus, wird die Ausgabe auf dem Bildschirm sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top