2012-03-06 84 views

回答

2

批处理中没有高级命令替换。

你可以做不过:

FOR /F "tokens=* delims=" %%I IN ('echo %date%') DO echo %%I 

(使用单一百分号如果在交互模式下,在蝙蝠双百分号或.cmd)。

如果你想反引号:

FOR /F "usebackq tokens=* delims=" %%I IN (`echo %date%`) DO echo %%I 

所以:

FOR /F "usebackq tokens=* delims=" %%I IN (`bla bla bla`) DO SET blablaresult=%%I 
echo %date%%time%%blablaresult% 
+0

o.O这可能是我见过的最复杂的方式,只是说'echo%date%'。你甚至痛苦地确信结果*完全相同。 – Joey 2012-03-06 15:17:07

+0

@Joey:最后只使用'echo'作为例子,但这是为了表明你可以操作'%% I'。 – Benoit 2012-03-06 15:18:59

+0

日期和时间很明确,但是bla-bla-bla呢? – vinnitu 2012-03-07 13:48:26

0

在命令行就试试这个....

@echo %date% %time% bla bla bla 
+0

bla-bla-bla - command too – vinnitu 2012-03-06 15:21:34

+0

对不起,我误解了你的模糊问题。 – 2012-03-06 19:06:27

1

您可以在日期和时间得到值使用预定义的动态变量%date%和%time% - 不需要使用命令。你可以将它与FOR循环结合起来处理'bla bla bla'命令的输出。

for /f "delims=" %%A in ('"bla bla bla"') do @echo %date% %time% %%A 

如果来自命令管线(未内一个批处理文件)运行然后%% A变得%A。