電子書籍の厳選無料作品が豊富!

宜しくお願いします。
batでpc内のデータをキーワード検索するのですが、検索内容をテキストファイルで別に作成し
実行した結果がテキストファイルで出力する。
dir /A-D /B /S | findstr "キーワード[^\\]*$" > 出力.txt  でしたらキーワードが変更になったらまたキーワードを入れ直さなければなりません。
for /f %%a in (検索キーワード.txt) do (
rem 出力 のようなテキストファイルを読み込んで検索する記述を教えて下さい。
重ねてよろしくお願いいたします。

質問者からの補足コメント

  • うれしい

    早速の御回答ありがとうございます。
    検索キーワード項目が15~20項目あって、毎回変更になります。
    情報データ流出関連なのですがBatで作成するように言われて困ってました。
    安易にテキストデータを差し替えすることにより検索を容易にするように考案しております。

      補足日時:2018/06/24 18:54

A 回答 (2件)

以下のような感じでいかがでしょうか。



設定の部分のパスを通るように書き換えてから試してみてください。

―――――――――――――――――

@echo off

rem ■ 設定
set "検索対象=検索対象フォルダ\*"
set "検索キーワードファイル=検索キーワード.txt"
set "結果ファイル=出力.txt"

rem ■ 掃除
if exist "%結果ファイル%" del /q "%結果ファイル%"

rem ■ 検索処理
for /f %%a in (%検索キーワードファイル%) do (
echo.【%%a】>> "%結果ファイル%"
findstr "%%a[^\\]*$" "%検索対象%">> "%結果ファイル%"
echo.>> "%結果ファイル%"
)

rem ■ 検索表示
start "" "%結果ファイル%"

―――――――――――――――――

ざっと書いただけなので、スマートでなかったり、うまくいかない箇所があったらすみません。

又、サブフォルダ内のファイルも対象にする場合は、「findstr」を「findstr /s」と書き換えてください。
    • good
    • 0
この回答へのお礼

詳しくご説明ありがとう御座います。
上手くいきました。

お礼日時:2018/06/30 21:46

あれ? 例えば


copy nul 出力.txt
for /f %%a in (検索キーワード.txt) do (
dir /A-D /B /S | findstr "%%a[^\\]*$" >> 出力.txt
)
とかじゃダメなんだっけ?
    • good
    • 0
この回答へのお礼

早速レスありがとうとても参考になりました。

お礼日時:2018/06/30 21:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!