問題タブ [processstartinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - このコードが外部コマンドから完全な出力を受け取らないのはなぜですか?
特定のドライブで PST を検索できるツールを開発中です。このコードは、テスト目的のためだけにプロジェクト パスを使用しています。
私の問題は、外部コマンド プロセッサでシェル コマンドの実行の出力を取得しようとすると、最初の 2 行しか取得できないことです。
私の結果:
ドライブ D のボリュームはデータ ボリューム シリアル番号は 7C64-9650 です
期待される結果:
ドライブ D のボリュームはデータ ボリューム シリアル番号は 7C64-9650 です
D:\PATH のディレクトリ 13/12/2012 01:49 PM 1,014,047,744 Archives.pst 4 ファイル 1,355,919,360 バイト
エラー メッセージはありません。
c# - プロセスの環境変数を設定する
環境変数の概念とは何ですか?
C#プログラムでは、実行可能ファイルを呼び出す必要があります。実行可能ファイルは、同じフォルダーにある他の実行可能ファイルを呼び出します。実行可能ファイルは、正しく設定される2つの環境変数「PATH」と「RAYPATH」に依存しています。私は次の2つのことを試しました:
- プロセスを作成し、StartInfoで2つの変数を設定しました。変数はすでに存在しますが、必要な情報が不足しています。
- System.Environment.SetEnvironmentVariable()で変数を設定しようとしました。
プロセスを実行すると、システムは実行可能ファイル( "executeable1")を見つけることができません。StartInfo.FileNameを「executeable1」のフルパスに設定しようとしましたが、「executeable1」内のformと呼ばれるEXEファイルが見つかりません...
どうすればこれに対処できますか?
c# - ProcessStartInfo 引数 ncftpget によるチャレンジ
複数の引数を使用して DOS コマンドを実行するために ProcessStartInfo に複数の引数を渡す方法を説明するいくつかのソリューションが投稿されています。この特定のケースでは、それらのどれも機能しません。
ac# アプリケーション内から ncftpget を実行しようとしています - 正確な文字列リテラル (@"arg1 arg2 arg3") を使用して複数の引数を実行可能ファイルに渡します。
何が起こっているかというと、引数リストが十分に長いため、切り捨てられますが、(最後に) 期待する場所ではありません。
だから私は次のようなものを渡します:
そして ncftp が取得するのは
ncftpget を直接呼び出す代わりに、bat ファイルを作成して実行すると、動作します。
奇妙なことに、XP_CMDShell を使用した T/SQL から、これよりもはるかに長い引数を指定して ncftpget を呼び出しています。「パラメータは非常に長くなる可能性があるため、最後ではなく最初から切り捨てる」という環境変数があるかのようです。
引数を引用してみましたが、違いはなく、同じ動作です。
もちろん、Microsoft が実際にまともな ftp ソリューションを持っていた場合...それは正しいモードを使用していました...しかし、それは彼らが決して修正しない古い不満です。
c# - 7-Zipを実行しているときのWindowsセキュリティ警告を抑制します
C#Windowsサービス内から7-Zipコマンドライン.exeを実行しようとすると、エラーをスローせずにアプリケーションがハングします。以下のセクションでブレークポイントを設定すると、Process.Start(p)を押すとハングが発生することがわかりました。同じコードをWindowsフォームアプリに入力すると、発行元を確認できなかったことを示す[ファイルを開く-セキュリティの警告]メッセージボックスが表示されます。警告の「実行」をクリックすると、問題なく続行されました。この警告を抑制するために、[このファイルを開く前に必ず確認する]チェックボックスをオフにする以外の方法はありますか?
私のコードは次のとおりです。
よろしくお願いします。
c# - プログラムでコマンドプロンプトからnode jsスクリプトを開始する
Web ロールで Socket.io 実装を実行するノード js スクリプトがあります。ノード js スクリプトを開始する方法を見つけることができた唯一の方法は、コマンド プロンプトで実行することだったので、コマンド プロンプトでスクリプトを実行する Web ロールでバックグラウンド タスクを作成しました。
ノードjsファイル、cmd.exe、およびノードモジュールファイルの「出力ディレクトリにコピー」のプロパティを「新しい場合はコピー」に設定し、それらはbinフォルダーに生成されています。binフォルダーでcmd.exeを手動で起動し、コマンド「node App.js」を実行すると、socket.ioがリッスンしているポートが実行されます。しかし、以下のようにプログラムでコマンドを実行すると、機能しません。
エラーがスローされないため、コードの問題なのか、このようにノード js スクリプトを開始できないのかわかりません。コマンドが正しく実行されたかどうかを確認する方法はありますか? プロセスの開始時に cmd プロンプト ウィンドウが開かれなかったためです。ガイダンス、提案、またはアイデアをいただければ幸いです。ありがとう
編集:
iisnode がすべてを処理できることが判明したため、web.config に書き換えコードを追加する必要がありました。ここからサンプルの azure node js アプリケーションからhttp://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/私はこの書き換えコードを得ました
App.js を自動的に開始しますが、すべてのビューを App.js スクリプトにリダイレクトします。私はそれが私が上に置いた再書き込みコードと関係があると思います. 起動時に App.js を実行し、他の HTML ビューにアクセスできるようにするには、どのような変更を行う必要がありますか?
ありがとう
c# - ProcessStartInfo 引数
いくつかの引数を取るプロセスがあります。C#から始めたい。ショートカットで同じ引数を試しましたが、うまくいきました。一方、C#ではそうではないので、ここに引数があります。引数の形式は正しいのですが、-k で間違った引数エラーが発生します
プロセスは開始しますが、テストする必要がある -k 引数がプログラムに送信されないため、すぐに終了します。-l の前に " " スペースを追加しようとしましたが、同じで、@" -l ..." も試しました
c# - Asp.Net Web アプリケーションから sysinternals PSExec を使用してスクリプトを実行する
Asp.Net Web アプリケーションから実行PSExecしてリモート サーバーに接続しようとしています。どういうわけか"Access Denied Error -5"、資格情報が設定されていない状態で提供され、PSEXECコマンドで資格情報を設定することで "2250 Network connection could not be found". 私はサーバーの管理者であり、Windows authentication and Asp.Net Impersonation有効にしています ( IIS7.5)。さらに興味深いことに、これを aconsole applicationまたは a から実行しようとすると、 を使用するcommand promptだけで正常に動作します。テストとして ping 操作のみを実行しようとしています。
これが私のコードスニペットです:-
ここ:-
コンソール アプリケーションでも同じコマンドとコードが機能します。だから私は間違いなくマシンにリモートへの資格情報を引き継ぐことができないAsp.netアプリケーションと関係があると信じています。私はイベントを試みstartInfo.LoadUserProfileましたが、役に立ちませんでした。
あなたの助けに感謝。同様の質問を探してみましたが、直面している問題の解決策が見つかりませんでした。
c# - アプリケーションへの引数を元の形式 (引用符を含むなど) で取得できますか?
一連のコマンド ライン引数を受け取り、その一部を処理し、残りを別のアプリケーションの引数として使用する .Net アプリケーションがあります。
例えば
MyApp.exe私のアプリケーション
foo1です。私のアプリケーションが気にするパラメータです。App2.exeは別のアプリケーションであり、私のアプリケーションは arg1 arg2 などを引数として App2 を実行します。
現在、私のアプリケーションは、このようなものを使用して App2.exe を実行するだけです
Process.Start(args[1], String.Join(" ", args.Skip(2)). したがって、上記のコマンドは正しく実行されます: 引数 "arg1 arg2" を指定した App2.exe。ただし、次のようなことを考慮してください
上記のコードは引用符を認識せず、引数 C:\Program Files\readme.txt (引用符なし) を指定して notepad.exe を実行します。この問題を解決するにはどうすればよいですか?
c# - ProcessStartInfo と cmd を使用して現在のディレクトリを変更する方法
現時点では、ProcessStartInfo を使用して CMD の小さなラッパーを開発しており、コマンド ウィンドウをエミュレートして、どうしても必要な追加機能を追加しようとしています。
この WINFORM アプリケーションはマルチタブ アプリであるため、複数の「セッション」を開始できます。さらに、コンテンツはリッチテキストボックスに保存されるため、簡単にコピーでき、さらに重要なことに、コンソール ログを検索できます。
今まではすべて問題なく動作しているように見えましたが、現在のディレクトリを尋ねると、このアプリの場所が表示されます。これは問題ありません。しかし、1 つ上のディレクトリに移動すると、機能しないようです。
私は何か間違ったことをしていると確信しています。それが何であるか、私が間違っていることを指摘できますか?コードの実行を扱うコードの抜粋を次に示します。