windows - 在批处理的输入参数中转义 "double quotes"

标签 windows batch-file

我想在带参数(路径)的批处理脚本中运行以下命令

runas /user:abc "icacls %1 /grant Everyone:(F) /T"

但是参数 %1 已经包含一个 "(因为它是一个路径,通过上下文菜单的发送到传递 - 我对此没有太多控制) . 因此,当命令在批处理脚本中运行时,它会像这样运行:

runas /user:abc "icacls "c:\folder" /grant Everyone:(F) /T"

很明显,我需要转义由 %1 创建的 "。我如何对 %1 执行字符串操作,以便它转义了引号?

最佳答案

您应该可以使用 \" Here 是一个包含一些您可能会觉得有用的其他转义字符的网站

执行字符串替换:

set temp=%1
set temp=%temp:"=\"%
echo %temp%

关于windows - 在批处理的输入参数中转义 "double quotes",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893309/

相关文章:

windows - 如何使用 dir 命令只显示没有扩展名的文件名

batch-file - 每 X 运行一次执行批处理文件

batch-file - findstr 输出到文件中的问题

objective-c - 从Notepad++使用GNUStep编译Objective C

c++ - Windows Web 服务框架中出现无法识别的错误

python - 如何使用 python 脚本安装 msi?

Java 无法识别一台计算机上日志文件中的换行符\n

java - 在 Windows 上运行 Java 独立应用程序(作为服务)

java - 为什么我在 Java 中从 Windows 命令行得到\r\r\n (CR CR LF)?

java - 是否可以阻止在批处理文件中运行 Java 应用程序的 2 个实例?