[英]batch script print the command that would be executed rather than executing
是否可以設置cmd.exe shell /批處理文件來打印將要執行但未實際執行的內容?
例如,給定一個帶有一些參數的批處理文件,根據這些參數選擇一些其他批處理文件來運行,這些批處理文件執行一些命令,可能會也可能不會調用其他文件/命令等。
我希望能夠運行頂級批處理文件,其中包含所有可能的輸入參數組合,並捕獲每個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中運行批處理腳本來實現這一點
在bash中,我們將使用-x之類的東西來打印出所有可能的命令而不執行它們。 如何使bash腳本在執行之前打印出每個命令問題是據我所知,批處理腳本沒有完全相同的命令。 我建議你嘗試放置:
@echo on
在腳本的開頭和:
@echo off
在你的腳本結束時,這是最好的起點。
如果您不希望批處理文件實際執行命令,則可以在每個命令之前插入echo
。 它無論如何都不是一個完美的解決方案,但對於相當簡單的腳本來說,它可能是一種解決方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.