【发布时间】:2016-03-25 00:54:38
【问题描述】:
我需要使用批处理文件为环境变量设置值。我为此编写了脚本:
@echo off
set value="Hello world"
setx -M srijani "%srijani%;%value%"
它给出了错误:
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.
我搜索了一下,发现在使用空格时,我们需要将其写在双引号内。
set value="Hello world"
但是,那也行不通。
注意:我使用的是 Windows 7。
【问题讨论】:
-
经常犯的标准错误是使用
set variable="value"而不是set "variable=value"。例如,请参阅Why is no string output with 'echo %var%' after using 'set var = text' on command line?,了解使用命令 SET 在线指定第一个引号的位置的差异。 -
@Mofi - 事实上这就是答案......
-
Mofi 建议的一大优势是,
set "variable=value"确实不在值中包含周围的引号,因此您需要只关心它们 i> 当扩展(读取)像"%variable%"这样的值时,任何代码在引用方面都变得更加一致......
标签: batch-file command-line windows-7