
VB.NETでのDOSコマンドを実行について
いつも大変お世話になっています。
VB.NET上でバイナリデータを
DOSコマンド「copy」で結合させたいのですが
うまくいきません。ご助言ください。
Dim results As String
Dim psi As New System.Diagnostics.ProcessStartInfo()
'ComSpecのパスを取得する
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
'出力を読み取れるようにする
psi.RedirectStandardInput = False
psi.RedirectStandardOutput = True
psi.UseShellExecute = False
'ウィンドウを表示しないようにする
psi.CreateNoWindow = True
'コマンドラインを指定("/c"は実行後閉じるために必要)
psi.Arguments = _
"/c copy /b /y "C:\Program Files\test\Data\out0001.bin"+"C:\Program Files\test\Data\out0002.bin" "C:\Program Files\test\Data\TEST.jpg""
'※コマンドの前後のダブルクォーテーションを省き、コマンドプロンプトで
' 直接実行した場合は成功しました。
'起動
Dim p As System.Diagnostics.Process=_
System.Diagnostics.Process.Start(psi)
'出力を読み取る
results = p.StandardOutput.ReadToEnd
'出力された結果を表示
Console.WriteLine(results)
'WaitForExitはReadToEndの後である必要がある
'(親プロセス、子プロセスでブロック防止のため)
p.WaitForExit()
No.1ベストアンサー
- 回答日時:
どんなエラーになってますか?
おそらく
"/c copy /b /y "
までで文字列
C:\Program Files\test\Data\out0001.bin
が文字列の外
"+"
が文字列
C:\Program Files\test\Data\out0002.bin
が文字列の外
...
となっているのではないかと思います。
"/c copy /b /y ""C:\Program Files\test\Data\out0001.bin""+""C:\Program Files\test\Data\out0002.bin"" ""C:\Program Files\test\Data\TEST.jpg"""
と"から"の間に"を書きたいときは、""と2つ続けるはずです。
(最後が3つなのは、前の2つは"を文字列に入れるため、最後の一つは文字列の終りです)
それか、いっそCOPYコマンドを使わず、VBだけでファイルの読み書きするかです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ftpコマンドを実行すると「425 ...
-
バッチファイル 文字列にスペ...
-
AccessVBAで実行時間を指定する...
-
findstrでヒットした1行前の文...
-
フォルダ、ファイル操作に最適...
-
SSH接続でwindowsサーバのコマ...
-
ftpコマンド出力結果の取得
-
make test って何をするための...
-
シェルスクリプト(.sh)で、10進...
-
コマンド プロンプト
-
FTPの作業をWindows上の...
-
バッチ終了時にDOS窓を閉じるコ...
-
Windows2000のコマンドプロンプ...
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
エクセルのVBAについて とある...
-
大量のフォルダからひとつのフ...
-
チームズのチャット画面にファ...
-
コマンドプロンプトで作成日時...
-
win10の「フォト」で、「次へ」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトをクリック...
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
ftpコマンドを実行すると「425 ...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
コンピュータ名をファイル名に...
-
DOSコマンドに詳しい方、お知恵...
-
xCopyコマンドでネットワークご...
-
AccessVBAで実行時間を指定する...
-
findstrでヒットした1行前の文...
-
ftpコマンド出力結果の取得
-
シェルスクリプト(.sh)で、10進...
-
バッチえファイルを編集するに...
-
VBA 特定文字含むファイル
-
VisioのVBAでユーザにファイル...
-
複数のフォルダを開くバッチフ...
-
コマンドプロンプトでファイル...
-
シェルスクリプト内のcdで、カ...
おすすめ情報