Ho ereditato alcuni file batch di grandi dimensioni e vorrei riscriverli su un linguaggio più "sviluppatore".Esiste un modo per tracciare l'esecuzione di un file batch?
mi piacerebbe scoprire le seguenti cose:
- quali altri script che chiama
- quali altri processi si inizia
- quali file lo fa scrivere a
- variabili d'ambiente è quello utilizza, quali imposta
Per l'ultimo punto, sono a conoscenza che posso farlo prima di iniziare:
set > original_environment.txt
E dopo l'eseguo, posso fare questo:
set > new_environment.txt
e basta fare un diff tra loro ... ma io probabilmente perdere alcune variabili che possono essere disinserite quando lo script finiture (o anche tutte loro se lo script ha funzionato sotto setlocal
).
C'è un modo per trovare tutte quelle cose senza che io aggiunga tonnellate di istruzioni echo in tutto il codice dello script? Esiste un tale strumento in grado di monitorare il processo avviato dal file batch e dirmi tutto ciò che ha fatto?
Riscrivili in PowerShell. Ha capacità di debug. Puoi inoltre utilizzare l'eccellente prodotto "PowerShell Plus" di Idera e ottenere un'esperienza di debug interattiva. –
@John: Penso che il problema dell'OP comprendesse di più quello che il file batch ha potuto riscrivere in un'altra lingua. Quindi stai di nuovo facendo lo stesso punto :) – Joey
Puoi ottenere alcune di queste informazioni da Process Monitor http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx, ma per il resto. Spero che tu trovi qualcosa, ma non sono ottimista. –