【发布时间】:2019-04-16 21:55:56
【问题描述】:
我在一个 bat 文件中有以下几行:
SET LIB="C:\tools\oracle\main\ojdbc8.jar"
SET DRIVER="Java::oracle.jdbc.driver.OracleDriver"
SET CONN="jdbc:oracle:thin:@//localhost:1521/XE"
logstash -f logstash.conf
前两个 SET 工作正常,但 logstash 程序抱怨 CONN 变量不是有效的 URI。我试图在@ 之前放置一个^ 以逃避它,但问题仍然存在。如何解决这个问题?
【问题讨论】:
-
我不熟悉你想要做什么,但标准约定不是更像
protocol://user:password@host:port/path吗? -
你也不需要转义
@。只有当它成为一行中的第一个字符时,它才具有特殊含义。如果它确实需要被转义,而它不需要,那么像你所做的那样将它放在引号中就足够了。 -
你应该使用这个语法,
Set "VarName=StringValue",然后你应该双引号%VarName%如果/在任何使用它的后续命令中需要。 -
@Compo 你的解决方案有效,把它写成答案
标签: windows batch-file environment-variables