在以下示例中,我想從父批處理文件中調用一個子批處理文件,並將所有其餘參數傳遞給子處理。有沒有辦法指出批處理文件中的最後n個參數?
C:\> parent.cmd child1 foo bar
C:\> parent.cmd child2 baz zoop
C:\> parent.cmd child3 a b c d e f g h i j k l m n o p q r s t u v w x y z
在parent.cmd中,我需要從參數列表中去除%1,並且只將其餘參數傳遞給子腳本。
set CMD=%1
%CMD% <WHAT DO I PUT HERE>
我調查了使用SHIFT與%*,但這並不起作用。雖然SHIFT會將位置參數向下移動1,但%*仍然是指原始參數。
任何人有任何想法?我應該放棄並安裝Linux嗎?可悲的是,
重複? http://stackoverflow.com/questions/382587/how-to-get-batch-file-parameters-from-nth-position-on – 2009-04-17 18:54:54
這個問題回答了代碼,沒有工作。我在我的問題中加入了一些陳述來幫助澄清,而且看起來我從Johannes得到了一個確鑿的答案。 – Dave 2009-04-17 23:29:09
哦,順便說一句,當所有的男士從其他批次調用批次時都使用call。否則調用批處理文件將不會在被調用批處理退出後繼續運行。 (可能在這裏可能沒有關係,只是一些最佳實踐:-)) – Joey 2009-04-18 06:44:49