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