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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VB.NETでのDOSコマンドを実行について
Visual Basic(VBA)
-
VB.NETでコマンドプロンプトの操作
Visual Basic(VBA)
-
Process.Startで起動したアプリを最大化したいです。VB.NET
Visual Basic(VBA)
-
-
4
VB.NETでDOSコマンドの複数実行
Visual Basic(VBA)
-
5
VB.NETでのzip圧縮について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
コンピュータ名をファイル名に...
-
BATファイル作成時の記述に...
-
C言語で、string.h conio.hを使...
-
ショートカットをデスクトップ...
-
コマンドプロンプトをクリック...
-
ftpコマンドを実行すると「425 ...
-
バッチファイルを使ってテキス...
-
バッチファイル 文字列にスペ...
-
シェルスクリプト内のcdで、カ...
-
【ppt、VBA】ファイル開閉時の...
-
バッチコマンドのIF文(条件...
-
コマンドプロンプトのバッチで...
-
xCopyコマンドでネットワークご...
-
VC++で音量の調整、ミュートは。
-
コマンドプロンプトでファイル...
-
シェルの「:コマンドが見つか...
-
FTPでUNIX上のシェルを起動する...
-
AccessVBAから差し込みWORD起動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
ショートカットをデスクトップ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
バッチコマンドのIF文(条件...
-
シェルの「:コマンドが見つか...
-
findstrでヒットした1行前の文...
-
ftpコマンドを実行すると「425 ...
-
Pythonで単純にファイルを結合...
-
コマンドプロンプトで、特定の...
-
コマンドプロンプトでファイル...
-
コンピュータ名をファイル名に...
-
バッチファイルを使ってテキス...
-
SSH接続でwindowsサーバのコマ...
-
バッチファイルで実行コマンド...
-
フォルダ、ファイル操作に最適...
-
バッチファイルでdiskpart.exe...
-
2つ目の「pause」は無効?
-
AccessVBAで実行時間を指定する...
おすすめ情報