3
我有一个由供应商提供的并且需要一系列参数的perl脚本。我想通过ASP经典中的Windows Shell对象调用它。在Windows Shell中传递给perl脚本的转义参数
如果我输入的Web服务器上的CMD线以下,它工作得很好:
path_to_perl\perl.exe path_to_pl\myfile.pl --arg1 "something" --arg2 "somethingelse"
如果我下面的ASP经典,这是行不通的:
strCMD = "path_to_perl\perl.exe path_to_pl\myfile.pl --arg1 ""something"" --arg2 ""somethingelse"""
Set objWShell = CreateObject("WScript.Shell")
Set objCmd = objWShell.Exec("cmd.exe /c " & strCMD)
问题是参数有各种特殊字符,所以我需要引用它们。我已经阅读了有关我应该如何逃避它们的矛盾信息 - 通过插入符号或反斜杠。任何帮助将不胜感激!
你为什么使用'cmd.exe/c'? – Neil 2012-07-18 23:47:31
这就是我以前运行perl脚本的方式。请注意,如果strCMD没有任何参数,代码工作得很好。 – user1536330 2012-07-19 02:19:28
此外,“”“”“”“”和“”别的东西“”中的特殊字符遍布整个地方 - $,/,\,@等。 – user1536330 2012-07-19 02:32:56