使用搜尋結果
以下指令碼顯示了更高階的分割檔案技術,其中 FOR 函式迴圈遍歷目錄中的檔案列表,並且每個檔案內容通過管道傳輸到 FINDSTR,查詢包含子字串 var
的字串,前面帶有未定義的空格數,並被任何額外的空格取代文字。找到後,搜尋到的檔案將替換為僅包含搜尋字串上方文字部分的新檔案。
@echo off
setlocal enabledelayedexpansion
pushd "%temp%\Test"
for %%G in ("*.txt") do (set "break="
(for /f "tokens=*" %%H in (%%~G) do (
if not defined break (
echo %%H | findstr /r /b /c:"[ ]*var.*" >nul && set break=TRUE || echo %%H )
)) >> %%~nG_mod.txt
del %%~G & ren %%~nG_mod.txt %%G )
popd
exit /b
注意,一旦找到第一次出現的搜尋字串,設定 break=TRUE
如何允許從搜尋的檔案中退出 FOR 迴圈。