如何将带有特殊字符的参数从 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
在你的批次中?
我想将带有特殊字符的参数从 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
在你的批次中?