2014-11-01 52 views
0

我是一个先进的ish批处理程序员,并且知道转义字符。但是,经过几个小时的搜索后,我找不到答案。这里是我的代码片段:是否可以批量转义冒号?

for /l %%a in (1,1,%a%) do (
set /a e=%%a*100/%a% 
cls 
echo %date%%time% Creating %a%x%b% matrix using %c%... 
echo !e!%% complete. 
for /l %%b in (1,1,%b%) do set /a a%%a%%b=%%a%c%%%b 
) 

这工作正常,但下一个片段给了我一个“:在这个时候是意外的。”。错误。

for /l %%a in (1,1,%a%) do (
set /a e=%%a*100/%a% 
cls 
echo %date%%time% Storing %a%x%b% matrix using %c% to %d% 
echo !e!%% complete. 
for /l %%b in (1,1,%b%) do echo Cell (%%a,%%b): !a%%a%%b!>>%d% 
) 

请帮忙。我不知道如何让冒号工作。

回答

3
for /l %%b in (1,1,%b%) do echo Cell ^(%%a,%%b^): !a%%a%%b!>>%d% 

应该给你想要的结果。

有趣的是,它不是需要转义的冒号,而是括号。这是因为批次在外部for循环内部看到),并认为这是循环的结尾。

+2

正确,但左括号的转义没有必要,但仍然无害 – jeb 2014-11-01 09:32:02

相关问题