2012-04-13 89 views
0

是否可以設置cmd.exe shell/batch文件來打印將執行但不是真正執行它的內容?批處理腳本打印將被執行的命令,而不是執行

例如,給定一個批處理文件,需要一些參數,基於這些參數,選擇一些其它的批處理文件來運行,這些批處理文件執行某些命令,可以或可以不調用其他的文件/命令等

我希望能夠使用它的輸入參數的所有可能組合來運行頂層批處理文件,並捕獲每個arg組合將執行的內容 - 而無需實際嘗試執行它。

例如概念會希望能夠產生類似:

mybatchfile.bat 1 2 3 > mybatchfile_1_2_3.bat 

mybatchfile.bat 99 3 42 > mybatchfile_99_3_42.bat 

其中mybatchfile_99_3_42.bat是將運行mybatchfile.bat 99 3 42時,執行一切的名單(不執行這些命令的輸出)

如果不能單獨使用的cmd.exe做的是有什麼方法在Cygwin的bash shell中

回答

1

在bash運行批處理腳本,我們將使用類似-x打印出所有可能的命令,而無需執行實現這一目標他們。 how to make bash scripts print out every command before executing問題是,據我所知,批處理腳本沒有完全等效的命令。我建議你試着將:

@echo on 

在腳本的開頭和:

@echo off 

在腳本的結束,這是最好的起點。

+0

這不會阻止命令執行。 – 2012-04-19 22:20:34

0

如果您不希望批處理文件實際執行命令,則可以在每個命令之前插入echo。這不是一個完美的解決方案,但它可能是相當簡單的腳本的解決方法。