C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: C# から xdoc2txt を使おうとして


(過去ログ 74 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■43372 / inTopicNo.1)  C# から xdoc2txt を使おうとして
  
□投稿者/ マーチン (1回)-(2009/11/07(Sat) 10:23:35)

分類:[C#] 

C# 初心者です。自分で解決できないので、教えてください。

バイナリ文書からテキストを抽出 するツール「xdoc2txt」
 http://www31.ocn.ne.jp/~h_ishida/xdoc2txt.html
を使おうとして、以下のようなコードを書いたのですが、abc01.txt に結果が出力されません。
コマンドプロンプトから、
 "C:\Program Files\xdoc2txt\xdoc2txt.exe" "c:\abc.txt" > abc01.txt
を実行すると出力されます。

-----------------
System.Diagnostics.ProcessStartInfo xdoc = new System.Diagnostics.ProcessStartInfo();
xdoc.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
xdoc.Arguments = @"/c ""C:\Program Files\xdoc2txt\xdoc2txt.exe"" ""c:\abc.txt"" > abc01.txt";
System.Diagnostics.Process p = System.Diagnostics.Process.Start(xdoc);
p.WaitForExit();
-----------------

3行目を
xdoc.Arguments = @"/c ""C:\Program Files\xdoc2txt\xdoc2txt.exe"" c:\abc.txt > abc02.txt";
に変更すると動きますが、スペースの入ったフォルダにパスを通せなくなるし。。。

よろしくお願いします。

引用返信 編集キー/
■43373 / inTopicNo.2)  Re[1]: C# から xdoc2txt を使おうとして
□投稿者/ Hongliang (503回)-(2009/11/07(Sat) 11:04:36)
xdoc.Arguments = @"/c """"C:\Program Files\xdoc2txt\xdoc2txt.exe"" ""c:\abc.txt"""" > abc01.txt";
こんな感じかしら。実行対象全体を一つの引数にする感じ。
私なら cmd.exe のリダイレクトは使わず、直接 xdoc2txt.exe を実行して RedirectStandardOutput を使って標準出力 StandardOutput を読み取って StreamWriter でファイルに書き込むってやるかな。
引用返信 編集キー/
■43374 / inTopicNo.3)  Re[2]: C# から xdoc2txt を使おうとして
□投稿者/ マーチン (3回)-(2009/11/07(Sat) 11:40:07)
Hongliang さんありがとうございます。

教えていただいた方法で、解決することができました。
また、StandardOutput.ReadToEnd(); を使ってもできることを確認しました。

引用返信 編集キー/
■43375 / inTopicNo.4)  Re[3]: C# から xdoc2txt を使おうとして
□投稿者/ マーチン (4回)-(2009/11/07(Sat) 17:41:16)
No43374 (マーチン さん) に返信
> Hongliang さんありがとうございます。
>
> 教えていただいた方法で、解決することができました。
> また、StandardOutput.ReadToEnd(); を使ってもできることを確認しました。
>
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -