FOR /f "tokens=1*" %%x IN ("%*") DO ECHO application %%y
其中1
是要跳過的參數的數量。
測試...主要.bat
(q20572424.bat)
@ECHO OFF
SETLOCAL
ECHO master[%*]
FOR /f "tokens=2*" %%x IN ("%*") DO CALL q20572424a.bat %%y
FOR /f "tokens=1*" %%x IN ("%*") DO CALL q20572424a.bat %%y
FOR /f "tokens=*" %%x IN ("%*") DO CALL q20572424a.bat %%x
GOTO :EOF
子公司.bat
(q20572424a.bat)
@ECHO OFF
SETLOCAL
ECHO slave=[%*]
FOR /f "tokens=2*" %%x IN ("%*") DO CALL q20572424b.bat %%y
FOR /f "tokens=1*" %%x IN ("%*") DO CALL q20572424b.bat %%y
FOR /f "tokens=*" %%x IN ("%*") DO CALL q20572424b.bat %%x
GOTO :EOF
第二附屬.bat
(q20572424b.bat)
@ECHO OFF
SETLOCAL
ECHO subslave=[%*]
GOTO :EOF
個
結果:
從運行q20572424 -opt-1 -opt-2 /opt-a /opt-b=value
master[-opt-1 -opt-2 /opt-a /opt-b=value]
slave=[/opt-a /opt-b=value]
subslave=[]
subslave=[/opt-b=value]
subslave=[/opt-a /opt-b=value]
slave=[-opt-2 /opt-a /opt-b=value]
subslave=[/opt-b=value]
subslave=[/opt-a /opt-b=value]
subslave=[-opt-2 /opt-a /opt-b=value]
slave=[-opt-1 -opt-2 /opt-a /opt-b=value]
subslave=[/opt-a /opt-b=value]
subslave=[-opt-2 /opt-a /opt-b=value]
subslave=[-opt-1 -opt-2 /opt-a /opt-b=value]
這似乎是正確的。在每種情況下,附屬批次逐字地接收參數;每次調用的主要參數數量爲2,1,0。
W7HP - 適合我!
兩者也許你可以使用DOS的轉義字符:''^我 –
試了一下,這是行不通的。 –
也許你可以發佈你的腳本,以便人們可以複製和粘貼它,查看出了什麼問題,並提出修正。 – indiv