批处理脚本保存到文件命令不带引号

时间:2020-04-08 09:12:34

标签: batch-file

我需要保存2个不带引号的python命令,所以我不知道如何在已保存的命令中跳过引号。

SET PYTHON_COMMANDS="command.py"
IF EXIST %PYTHON_COMMANDS% DEL /F %PYTHON_COMMANDS%
(
    echo "connect("weblogic", "xxx", "t3s://x.x.x.x:7002")"

) >%PYTHON_COMMANDS%

文件输出:

"connect("weblogic", "xxx", "t3s://x.x.x.x:7002")"

但我希望文件中仅包含命令

connect("weblogic", "xxx", "t3s://x.x.x.x:7002")

1 个答案:

答案 0 :(得分:1)

要做到这一点,您必须转义每个特殊字符。

批处理文件具有它们自己的奇怪的引用规则,但是幸运的是,您的字符串没有太多需要转义的字符:

  • )应该为^),如果代码块中的这一行(即用括号括起来的代码块)在其他情况下也可以使用
  • (可以逃脱,但实际上并不需要也必须要逃脱
  • 其他字符不必转义。

因此,以下应该起作用:

 connect("weblogic", "xxx", "t3s://x.x.x.x:7002"^)

但是请不要忘记,当您更改命令(例如地址)时,必须重新检查URL中经常出现的特殊字符(例如% -> %%& -> ^&) !

相关问题