如何转义传递给程序的参数中的引号

如何转义传递给程序的参数中的引号

所以我有以下问题。我有script.bat包含以下内容的批处理脚本

cat %* | gawk " { value = "something" } "

这显然行不通。在 bash 中,我会将引号内的引号转义为" { value = \"something\" }"。 甚至改为"'但是 Windows 没有这样的功能('只是普通字符)。我寻找解决方案并找到了两种方法。

cat %* | gawk " { value = ^"something^" } "
cat %* | gawk " { value = ""something"" } "

但是,这些都不起作用(无论是在批处理文件中还是在命令提示符中)

答案1

另一处引文则不然(根据在批处理脚本中转义双引号) 适用于双引号字符串的内容。

您可以通过替换添加双引号:

set myvalue="something"
cat %* | gawk " { value = %myvalue% } "

相关内容