簡體   English   中英

批處理腳本打印將執行而不是執行的命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM