0
我打算讓字符串的子字符串,並在cmd打印它,但無法做到這一點。如何在批處理編程的代碼中解決這個錯誤?
set p=mnopq
for /L %a in (1,1,5) Do (
set q=%p:~%%a%,1
echo %q%
)
但它給錯誤,請幫我提前解決this.thanks ..
我打算讓字符串的子字符串,並在cmd打印它,但無法做到這一點。如何在批處理編程的代碼中解決這個錯誤?
set p=mnopq
for /L %a in (1,1,5) Do (
set q=%p:~%%a%,1
echo %q%
)
但它給錯誤,請幫我提前解決this.thanks ..
這就需要延遲通過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!
)
什麼錯誤....? – climbage 2012-07-19 21:39:38