シンプルな .BAT スクリプト/ファイルを生成する必要があります。私はそれが簡単だと思っていましたが、私はどれほど間違っていました:-(
BATスクリプトは(私は信じています):
- const 検索文字列を取得して検索する
- 「開始」ディレクトリへの絶対フォルダーパスを取得します
- 検索するファイル名マスク/正規表現を取得します
- ファイルのコンテンツに「追加」される定数文字列を取得します
- 開始ディレクトリとサブディレクトリ (n レベル下) のすべてのファイルを再帰的に繰り返し、ファイル名マスク/正規表現に一致するファイルを検索 (および「処理」) します。
- 検索文字列について、「現在の」ファイル (メモ帳で開くことができるすべての「テキスト」ファイル) の内容を検索します。検索文字列は、ファイル内のどこにでも 0 回、1 回、または何度も見つかります。
- 検索文字列が見つかった場合は、何もしません。検索文字列が見つからない場合は、新しい文字列をファイルの末尾に追加します。出来上がり!(理論的には)
Heresは私がすでに持っているもので、実際には機能していません。私が見ることができるいくつかの問題があります。「現在のファイル」を取得する方法と、各ファイルの後に ERRORLEVEL を「リセット」する方法。
SET SEARCHSTRING="search for this text"
SET STARTPATH="C:\StartFolder\*"
SET MATCHFILES="*.txt"
SET APPENDSTRING="Appended text"
findstr /c:%SEARCHSTRING% /b /i /d:%STARTPATH% %MATCHFILES%
SET FOUND=%ERRORLEVEL%
REM 0=true, 1=false
IF %FOUND%==1 (
REM ISSUE: How to get "current" file path???
REM %APPENDSTRING% >> %CURRENTFILEPATH%
)
ご質問やご提案は大歓迎です
乾杯
カイル