是否可以批量逃避冒号?

时间:2014-11-01 04:57:40

标签: batch-file escaping colon

我是一名高级批处理程序员,了解转义字符。但是,经过几个小时的搜索,我找不到答案。这是我的代码片段:

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% 
)

请帮忙。我不知道如何使结肠起作用。

1 个答案:

答案 0 :(得分:3)

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

应该给你想要的结果。

有趣的是,它不是需要逃避的冒号,而是括号。这是因为批处理看到外部for循环中的),并认为那是循环的结束。