【发布时间】:2010-03-02 19:54:23
【问题描述】:
我继承了一些大型批处理文件,我想将它们重写为更“开发人员友好”的语言。
我想了解以下几点:
- 它调用了哪些其他脚本
- 它启动了哪些其他进程
- 它会写入哪些文件
- 它使用什么环境变量,设置了哪些环境变量
最后一点,我知道在开始之前我可以做到这一点:
set > original_environment.txt
在我运行它之后,我可以这样做:
set > new_environment.txt
并且只是在它们之间做一个差异......但我可能会错过一些在脚本完成时可能未设置的变量(或者如果脚本在 setlocal 下运行,甚至是所有变量)。
有没有什么方法可以找到所有这些东西,而无需我在整个脚本代码中添加大量的 echo 语句? 有没有这样的工具可以监控批处理文件启动的进程并告诉我它所做的一切?
【问题讨论】:
-
在 PowerShell 中重写它们。它具有调试功能。您还可以使用 Idera 出色的“PowerShell Plus”产品,获得交互式调试体验。
-
@John:我认为 OP 的问题是更了解批处理文件如何用另一种语言重写它。所以你有点再次提出同样的观点:)
-
您可以从 Process Monitor technet.microsoft.com/en-us/sysinternals/bb896645.aspx 获得其中的一些信息,但至于其他信息。我希望你能找到一些东西,但我并不乐观。
-
我了解批处理的作用,如果我通读它,我可以重现它,但我正在考虑一个工具,它可以尽可能多地报告这些事情。
标签: winapi refactoring batch-file environment