我正在尝试使用配置文件来设置一些批处理脚本将使用的变量。
因此配置文件如下:
CUSTOM_JAVA_HOME="C:/.../Desktop/jre1.8.0_171"
JAVA_FLAGS="-server -Xmx2048M"
在我的批处理文件中,我有以下内容:
rem load config
if exist cmd.config for /f "delims=" %%A IN (cmd.config) DO (SET "%%A")
运行它时,出现以下错误:
'“”'不被识别为内部或外部命令,可操作程序或批处理文件。
仔细查看会发现已设置变量JAVA_FLAGS
。我不明白失败的原因。
答案 0 :(得分:0)
我的最佳实践一直是不给变量加上引号。从本质上讲,这就是为什么您得到错误的原因。您将引号分配给变量,然后将这些变量的使用引号引起来。因此最终看到变量为""C:/.../Desktop/jre1.8.0_171""
。使用您现有的代码,您只需删除%%A
周围的引号,但是我的最佳实践一直是不为变量分配引号,而是在其他命令需要它们时使用引号。
配置
CUSTOM_JAVA_HOME=C:/.../Desktop/jre1.8.0_171
JAVA_FLAGS=-server -Xmx2048M
BATCH
rem load config
if exist cmd.config for /f "eol=# delims=" %%A IN (cmd.config) DO (SET "%%A")