最新のファイルを取得してそこでグレップをかけたいが毎回ファイル名を打たなければ行けないのでスクリプトにした。
@echo off
setlocal enabledelayedexpansion
REM 作業用変数
set "latestFile="
set "latestTime=0"
REM 最新のファイルを検索(ファイル名に "abc" を含む .txt ファイル限定)
for %%F in (*abc*.txt) do (
REM ファイルの更新日時を取得
for /f "tokens=1,2 delims= " %%A in ('dir /tc "%%F" ^| find "%%F"') do (
REM タイムスタンプを比較する
set "currentTime=%%A %%B"
if "!currentTime!" GTR "!latestTime!" (
set "latestTime=!currentTime!"
set "latestFile=%%F"
)
)
)
REM 最新のファイルが見つからない場合の処理
if "%latestFile%"=="" (
echo 更新日が最新のファイルが見つかりませんでした。
pause
exit /b
)
REM 最新のファイルを表示
echo 最新のファイル: %latestFile%
REM findstrでグレップ処理
REM キーワードを指定してください
set /p "keyword=検索するキーワード: "
findstr /i "%keyword%" "%latestFile%"
REM 終了
pause