2017-10-02 12 views
-2

startInfo.Argumentsを使用して、textBoxからcmdコマンドまでのシリアル番号(テキスト)を書き込む必要があります。 要点は、私がここで行ったすべての検索は、先頭にあるテキストまたは引数の末尾にあるテキストを置き換えることを指しています。 しかし、私はこのようにテキストボックスから引数の中央にテキストを挿入する必要があります。startInfo.Argumentsを使用してテキストボックスからcmdにデータをコピーする

string input1 = textBox1.Text; 
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
startInfo.UseShellExecute = false; 
startInfo.RedirectStandardOutput = true; 
startInfo.FileName = "CMD.exe"; 
startInfo.Arguments = "/c adb -s "textBox1.Text" shell dumpsys battery"; 

すべてのヘルプは理解されるであろう。ありがとうございました。

+0

基本的なC#チュートリアルを見てください。これは単純な文字列の連結/補間です。 –

+0

文字列を '+'で連結します。例えば。 '' one "+' 'two" 'のようになります。 – Blorgbeard

+0

通常の文字列連結を試しましたか? 'startInfo.Arguments ="/c adb -s "+ textBox1.Text +" shell dumpsys battery ";' – Alejandro

答えて

0

テキストボックスの内容は、input1変数に格納されています。

が今はC#でこれを実行するために、複数のオプションがあります。

または連結とを(@文字列表記で、二重引用符は、それらを2倍にすることにより、結果の文字列に保存されている)

startInfo.Arguments = String.Format(@"/c adb -s ""{0}"" shell dumpsys battery", input1); 

startInfo.Arguments = "/c adb -s \"" + input1 + "\" shell dumpsys battery"; 

(バックスラッシュでエスケープ二重引用符は、結果の文字列に二重引用符を保持します)

か、最近、我々は、文字列の補間を使用することができます。

startInfo.Arguments = [email protected]"/c adb -s ""{input1}"" shell dumpsys battery"; 

いずれかの方法を、それは管理者権限で起動された場合は特に、あなたがユーザーから取得したものを実行する前に値を検証するために検討してください。

+0

こんにちは、ありがとう!しかし、私はコマンドを試みたが効果がなかった! –

+0

@ClaudeHitech「何も効果がありません」*とはどういう意味ですか?これらの回答の1つを試した後、 'startInfo.Arguments'の値は何ですか? –

+0

こんにちはRufus、引数の内容は、デバイスのシリアル番号です:ce022111a3a6766e02。この値を引数フィールドに格納すると、-sの後に正常に動作します。 –

関連する問題