ベンダーから提供された、一連のパラメーターを使用する perl スクリプトがあります。ASP クラシックの Windows シェル オブジェクトを介してこれを呼び出したいと思います。
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)
問題は、引数にあらゆる種類の特殊文字があるため、それらを引用する必要があることです。キャレットまたはバックスラッシュを使用して、それらをエスケープする方法について矛盾する情報を読みました。どんな助けでも大歓迎です!