Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件中的转义字符_Batch File - Fatal编程技术网

Batch file 批处理文件中的转义字符

Batch file 批处理文件中的转义字符,batch-file,Batch File,我正在尝试获得如下的转义字符: C:\\Program Files (x86)\\Java\\jdk1.7.0_25 以下是批处理脚本中的代码: set AGNT_JAVA_HOME=%JAVA_HOME% SET set AGNT_JAVA_HOME=%AGNT_JAVA_HOME:\\=\\\\% 但随之而来的价值是: AGNT_JAVA_HOME value is C:\Program Files (x86)\Java\jdk1.7.0_25 知道需要在这里添加什么才能获得作为第一行

我正在尝试获得如下的转义字符:

C:\\Program Files (x86)\\Java\\jdk1.7.0_25
以下是批处理脚本中的代码:

set AGNT_JAVA_HOME=%JAVA_HOME% SET
set AGNT_JAVA_HOME=%AGNT_JAVA_HOME:\\=\\\\%
但随之而来的价值是:

AGNT_JAVA_HOME value is C:\Program Files (x86)\Java\jdk1.7.0_25

知道需要在这里添加什么才能获得作为第一行的值吗。

批处理的转义字符是
^
,而不是
\

\
文本不需要转义

因此,您所需要的是:

set AGNT_JAVA_HOME=%AGNT_JAVA_HOME:\=\\%
set "AGNT_JAVA_HOME=%AGNT_JAVA_HOME:\=\\%"
但更安全的做法是将整个集合赋值括在引号中,以防AGNT_JAVA_HOME包含有毒字符,如
&