
今晩は、質問させていただきます。どうぞよろしくお願いいたします。
環境: VB2008 Express Edition + Win7(もしくはVistaもしくはXP) でございます。
VBからコマンドプロンプト(あまり使い方を存じません)を操作できているかどうか
テストする為に、下記のように操作させてみましたがうまくいきません。。
・Debugフォルダにコマンドプロンプトを起動
→コマンドプロンプトの内容表示(←成功)
・Debugフォルダにコマンドプロンプトを起動
→「cd ../ 」
→コマンドプロンプトの内容表示(←何故か何も表示されません。)
http://soudan1.biglobe.ne.jp/qa5873147.html
を参考にさせていただいて、コーディングいたしました↓
Dim psi As New System.Diagnostics.ProcessStartInfo()
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
psi.RedirectStandardInput = False '出力を読み取れるようにする
psi.RedirectStandardOutput = True
psi.UseShellExecute = False
psi.CreateNoWindow = True 'ウィンドウを表示しないようにする
'コマンドラインを指定
psi.Arguments = "/c cd ../" '←ここです。
Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi) '起動
Threading.Thread.Sleep(1000)
Do
results = p.StandardOutput.ReadLine
temp = temp & results
Application.DoEvents()
cnt = cnt + 1
Loop Until cnt = 1000
p.WaitForExit()
MsgBox(temp)
最後のMsgBoxに何も文字が表示されません。。。
コード中の「ここです」の行をコメントアウトいたしますと、最後のMsgBoxに
「Microsoft Windows XP ~D:\~bin\Debug>」
とフォルダ名が表示できます。
psi.Arguments = "/c cd ../" がちゃんと送れていないのでございましょうか??
色々と試行錯誤しておりますが、うまくいきません。
試しにpsi.CreateNoWindow = False などとしてみても一瞬で画面が消えてしまうため
うまくバグ取りの打開策が見いだせておりません。
もしお詳しい方がいらっしゃいましたら是非ともアドバイスいただけないでしょうか。
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
CMDのヘルプとかをよく読みましょう。
/C は「以降に書かれたものをコマンドとして実行して終了する」オプションです。
この例では、 CMD起動→cd .. を実行→終了 となっています。
そのままコマンドプロンプトを継続するなら /K ではないでしょうか。
これに限らず、他のコマンドを実行させるなら、そのコマンドのマニュアルを良く読みましょう。
どうもありがとうございます!!m(_ _)m
解決いたしました。Googleで「コマンドプロンプト "/C"」などと
検索いたしましても「/」が検索結果にひっかかってくれず
かなり長い間悩みました。。。orz
今から徹底的に探してまいります。
この度はご親切にご閲覧・アドバイスくださって誠にありがとうございました!!^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETでDOSコマンドの複数実行
-
複数の処理の終了を待ちたい
-
c#でコマンドプロンプトを実行...
-
ExcelVBAにてアプリをタスクマ...
-
ショートカットのリンク先が参...
-
batファイルで立ち上げたaplを...
-
EXCELをバッチコマンドで...
-
Shiftキーを押しながら起動
-
バッチファイル 特定ウインドウ...
-
ASPからのEXEファイル起動
-
stable diffusionのインストー...
-
プログラムを実行すると、なぜ...
-
シャットダウン前にソフトを起...
-
バッチへ値を返す
-
C&C++からC#のexeを呼ぶ方法
-
サーバーに保存されているVB6で...
-
「.exe(fortranで作成したもの)...
-
UWSCについて
-
コマンドプロンプトの窓の起動...
-
VB.NETでコマンドプロンプトの操作
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 特定ウインドウ...
-
ExcelVBAにてアプリをタスクマ...
-
EXCELをバッチコマンドで...
-
ショートカットの作成とコピー
-
batファイルで立ち上げたaplを...
-
VB.NETでDOSコマンドの複数実行
-
c#でコマンドプロンプトを実行...
-
UWSCについて
-
バッチファイルからftpを実行時...
-
VBAからキャッシュを削除する方...
-
Shiftキーを押しながら起動
-
バッチファイルでAPを終了さ...
-
64bitのwindowsサーバーで32bit...
-
ASPからのEXEファイル起動
-
stable diffusionのインストー...
-
バッチファイルでの時間差実行
-
exe間での引き値の受け取り方法
-
RUNASコマンドを使って、自動的...
-
バッチへ値を返す
-
複数の処理の終了を待ちたい
おすすめ情報