如何将带有特殊字符的参数从 vbs 传递到批处理文件而不用双引号引起来?

How to pass an parameter with special characters from vbs to batch file without enclosing it in double quotes?

我想将带有特殊字符的参数从 vbs 传递到批处理文件,而不用双引号括起来。
vbs:

Set Shell = CreateObject("WScript.Shell")
Shell.Run "Test.bat ""0,(5306546...)"""

批处理文件:

@echo off
echo %1
pause > NUL

我的目标是输出:

0,(5306546...)

而不是:

"0,(5306546...)"

如果 vbs 是:

Set Shell = CreateObject("WScript.Shell")
Shell.Run "Test.bat 0,(5306546...)"

L'批处理文件的输出为:

0

这个问题是不同的,因为在这个答案之前我不知道 %~1 命令。

为什么不直接使用

echo %~1

在你的批次中?