2012-07-19 49 views

回答

1

這就需要延遲通過SETLOCAL擴展功能(見cmd /?幫助使用)。它不能按預期工作的原因是因爲for命令後面的命令被視爲參數,所以基於任何%的變量將立即展開,除了用於for命令的變量外。

這裏是更正後的批處理命令。

@echo off 
setlocal enabledelayedexpansion 
set p=mnopq 
for /L %%a in (1,1,5) Do (
    set q=!p:~%%a,1! 
    echo !q! 
)