0

そのため、C#からcscriptを使用してプリンタースクリプトを起動しようとしていますが、cscriptはビジュアルベーシックファイルを起動します。だから、デイジーチェーンのようなものです(そして私はこのデイジーチェーンを特定の理由で無傷に保ちたいです)。

コードは次のとおりです。

Process.Start("c:/windows/system32/cscript.exe c:/windows/System32/Printing_Admin_Scripts/en-US/prnport.vbs");

さて、cscriptのみを起動すると、問題はありません。

ただし、prnport.vbsの条件をcscriptの起動に追加すると、VisualStudioで次のエラーが発生します。

"The system cannot find the file specified"

しかし、ファイルパスが正しいことを確認できます-prnport.vbsに存在し/en-USます。

それで、私はここで何を間違っているのですか?Process.Startを使用しているときに、引数を渡すことはできませんか(この場合、ファイルパスは引数としてcscript.exeに渡されます)?

C#は初めてで、これを行う適切な方法について混乱しています。

4

3 に答える 3

4

実行するファイルとは別に引数を指定する必要があります。Process.Start(string, string)オーバーロードを試してください:

Process.Start("c:/windows/system32/cscript.exe", 
    "c:/windows/System32/Printing_Admin_Scripts/en-US/prnport.vbs");
于 2012-11-07T15:26:24.300 に答える
1

それは引数です。別のオーバーロードを使用する必要がありますProcess.Start

メソッドのドキュメントをご覧ください。

Process.Start (String, String)必要に応じて、他のものも可能であり、より柔軟に提供できます。

于 2012-11-07T15:26:32.250 に答える
1

Process.Start、最初のパラメーターとしてファイル名を想定しています。引数は別の引数で与えられます。

于 2012-11-07T15:26:43.480 に答える