2012-04-16 13 views
1

私のアプリケーションでは、タスクをスケジュールするためにいくつかのコマンドライン引数を渡しています。私はスケジュールされたタスクのタスクscheudlerに見たとき、私はアクションを取得
コマンドライン引数でのアプリケーションのパスの受け渡し

ProcessStartInfo ps = ProcessStartInfo("schtasks"); 
ps.Arguments = str; 
Process.Start(ps); 

:として
strが、いくつかの操作後

/create /tn StartIE /tr "C:\Program Files\Internet Explorer\iexplore.exe http://abc.com" /sc onlogon 

になり、その後、私は、プロセスを開始する文字列です。スケジュールのタスクとして:

C:\Program 
and the Arguments as: Files\Internet Explorer\iexplore.exe http://abc.com 

ので、問題は、宇宙でのものであり プログラムファイル。実際のプログラムが残るように、実際のプログラムが残るように、どうすればよいのですか? C:\Program Files\Internet Explorer\iexplore.exe http://abc.com
Arguments = http://abc.com

答えて

0

引用符をエスケープして、schtasksプロセスで「抽出」できるように引用符を渡す必要があると思います。

/create /tn StartIE /tr "C:\Program Files\Internet Explorer\iexplore.exe http://abc.com" /sc onlogon

しかし、私はそれが実際に含まれている疑いがある:あなたの文字列を含む終わるはずです

/create /tn StartIE /tr \""C:\Program Files\Internet Explorer\iexplore.exe http://abc.com\"" /sc onlogon

/create /tn StartIE /tr C:\Program Files\Internet Explorer\iexplore.exe http://abc.com /sc onlogon

はどのあなたが標的にされなければならない、それを作成するときに意味します

同様の質問と回答:Why "schtasks" does not run my job?