批处理文件删除字符

时间:2018-11-29 15:30:58

标签: batch-file escaping

我正在创建一个简单的批处理文件,该文件使用Azure REST API从Blob下载数据。如果我直接在命令提示符下键入请求,则它可以正常运行,并且我的数据显示在目录中。但是,当我将其作为批处理文件运行时,它不起作用,并且在命令行中可以看到已删除Blob连接字符串中的某些字符(用作访问令牌)。我不能共享完整的访问令牌,但可以显示删除发生在连接字符串的末尾,即签名:

正确:"...5U%2BJgo%3D"

批处理文件输出:"...5UBJgoD"

问题似乎出在特殊字符和一些数字上。签名中没有其他特殊字符,签名其余部分中的其他数字也不受影响。

其他说明:

  • 确实在""字符串中输入了连接字符串
  • 我尝试通过在请求行执行之前运行UTF-8来将编码强制为chcp 65001编码;没用

1 个答案:

答案 0 :(得分:2)

您应使用双重百分号(%来代替百分号(%%)。例如,您应该输入:

"...5U%%2BJgo%%3D"

在这里在Stack OverFlow上发帖之前,在互联网上进行搜索非常有用。因此,请检查提供的链接:

希望这会有所帮助!