1

有谁知道>nul在变量中设置时如何停止被忽略,或者这是不可能的?我有一种感觉,这是只有在所有变量都被扩展或其他东西之后才会起作用的事情之一,但问一下也无妨。

例子:

@echo off

:: Won't work
SET pause_5=ping localhost /n 6 >nul
%pause_5%

:: Will work
SET pause_5=ping localhost /n 6
%pause_5% >nul

exit
4

1 回答 1

2

在参数周围加上引号:

set "pause_5=ping localhost /n 6 >nul"

另一种选择是转义将由 shell 解释的字符:

set pause_5=ping localhost /n 6 ^>nul

但通常引用方法要容易得多。

您编写的方式本质上是说“设置pause_5ping localhost /n 6并忽略set命令的输出。”。

于 2012-07-27T10:35:09.287 回答