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

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

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

Re[6]: grepのような機能


(過去ログ 113 を表示中)

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

■66925 / inTopicNo.1)  grepのような機能
  
□投稿者/ りらっくま (1回)-(2013/06/07(Fri) 11:09:10)

分類:[.NET 全般] 

初心者です。
無償版vb2010を使用しています。

該当のフォルダ配下をから必要な文字列を検索してその行をテキストとしてテキストとして出力したいです。
後続の処理もあり、すべて自動化するため、vbを利用したいです。

そこでfindstrを利用しようかと思い、process.startを
を入れてみましたが、パラメーターの指定が、うまくいきません。
(対象パラメーター,/s /i /n /c:"title" 検索フォルダ 出力テキスト)
※コマンドライン上ではうまく出力できています。
どのように記述すればよいのでしょうか?
引用返信 編集キー/
■66926 / inTopicNo.2)  Re[1]: grepのような機能
□投稿者/ shu (331回)-(2013/06/07(Fri) 11:32:15)
No66925 (りらっくま さん) に返信
> を入れてみましたが、パラメーターの指定が、うまくいきません。
どのように記述され、どのようにうまくいかないのでしょうか?
引用返信 編集キー/
■66929 / inTopicNo.3)  Re[2]: grepのような機能
□投稿者/ りらっくま (2回)-(2013/06/07(Fri) 12:28:08)
No66926 (shu さん) に返信
> ■No66925 (りらっくま さん) に返信
>>を入れてみましたが、パラメーターの指定が、うまくいきません。
> どのように記述され、どのようにうまくいかないのでしょう

記述は最初は以下のように作成しましたが、そもそもエラーなので、ダブルコーテーションをとったり色々しましたが、なんだかうまくまとまりません。
(そもそも二行に分けている時点で誤っている気もするのですが)

携帯からなので多少のスペルミスはご容赦ください。
Process.start("c:¥windows¥system32¥findstr.exe")
Process.start(/s /i
/n /c:"title" 検索フォルダ 出力テキスト)
引用返信 編集キー/
■66930 / inTopicNo.4)  Re[3]: grepのような機能
□投稿者/ shu (332回)-(2013/06/07(Fri) 13:17:17)
No66929 (りらっくま さん) に返信

Process.Start("cmd", "/c findstr /s /i /n /c:""title"" /d:検索フォルダ > 出力テキスト")
こんな感じでどうでしょう?

実行ファイルと引数を指定して実行する必要があります。
引用返信 編集キー/
■66934 / inTopicNo.5)  Re[4]: grepのような機能
□投稿者/ りらっくま (3回)-(2013/06/07(Fri) 17:32:24)
回答ありがとうございます。

実装し、構文エラーはなくなったのですが、起動するとコマンドラインの黒画面(何一つ表示されず真っ黒な状態で開いたままです)が出てきて、テキストは出力されますが、ゼロバイトでなにも取得できません。

参考までにファイル名を指定して実行で、以下のように入力したときも同じ状態でした。
Cmd , /c findstr /s /i /c:"title" /d:対象フォルダ > テキスト
なお、最初の質問で書いたコマンドラインの方法だと正常に取得できますので、検索対象が全くないためにゼロバイトなわけではありません。

おてすうですが、よろしくお願いします
引用返信 編集キー/
■66938 / inTopicNo.6)  Re[5]: grepのような機能
□投稿者/ shu (333回)-(2013/06/08(Sat) 09:57:18)
No66934 (りらっくま さん) に返信
> 回答ありがとうございます。
> 
> 実装し、構文エラーはなくなったのですが、起動するとコマンドラインの黒画面(何一つ表示されず真っ黒な状態で開いたままです)が出てきて、テキストは出力されますが、ゼロバイトでなにも取得できません。
> 
> 参考までにファイル名を指定して実行で、以下のように入力したときも同じ状態でした。
> Cmd , /c findstr /s /i /c:"title" /d:対象フォルダ > テキスト
> なお、最初の質問で書いたコマンドラインの方法だと正常に取得できますので、検索対象が全くないためにゼロバイトなわけではありません。
> 
> おてすうですが、よろしくお願いします

検索対象ファイルの指定が抜けていました。
findstr /s /i /c:"title" /d:対象フォルダ *.*> テキスト


起動画面を表示しない為には
ProcessStartInfoを使用して起動するとよいです。

Dim pinf as New ProcessStartInfo("cmd")
pinf.Arguments = "/c findstr /s /i /c:"title" /d:対象フォルダ *.*> テキスト"
pinf.CreateNoWindow = True
pinf.WindowStyle = ProcessWindowStyle.Hidden

Process.Start(pinf)

引用返信 編集キー/
■66960 / inTopicNo.7)  Re[6]: grepのような機能
□投稿者/ りらっくま (4回)-(2013/06/11(Tue) 20:14:19)
おかけで解決しました。ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -