在文件目录上使用 findstr 时出错
Error when using findstr on file directory
所以我正在尝试了解 findstr 的来龙去脉,因为它在我遇到的其他批处理脚本问题中出现过几次。我试图让它通过目录中的多个文件查找一个词(在本例中为 'webview'),理想情况下它会提取找到的行以及文件名。但是,程序陷入了这种无限循环,我不得不强制退出。如果它是由 findstr 引起的或者是什么原因引起的,任何帮助都将是惊人的,因为我已经盯着它看了几个小时了。我当前的代码如下:
ECHO off
SETLOCAL enabledelayedexpansion
ECHO Please input the path to the app directory you'd like scanned
SET /p directorypath=
CD %directorypath%
ECHO Scanning files for Webview
(
FOR /F "delims=" %%a in ('findstr /I /S /M "webview" *.json') DO (
SET "line=%%a"
SET "line=!line:*webview=!"
FOR /F "delims=<" %%b in (!line!) DO ECHO %%b
)) > WebviewScanResults.txt
:eof
更新:代码已更新并可作为参考使用。我几乎只是 运行 上面的代码几次用不同的文件类型替换 *.json 并且它工作正常。
只是一次未经测试的尝试,对我来说太晚了:
@ECHO off
SETLOCAL enabledelayedexpansion
ECHO Please input the path to the app directory you'd like scanned
SET /p directorypath=
PushD "%directorypath%"
ECHO Scanning files for Webview
(
FOR /F "tokens=1*delims=:" %%a in ('findstr /I /S "webview" *.html') DO (
SET "line=%%b"
SET "line=!line:*webview=!"
FOR /F "delims=<>" %%b in ("!line!") DO ECHO %%a:%%b
)) > WebviewScanResults.txt
所以我正在尝试了解 findstr 的来龙去脉,因为它在我遇到的其他批处理脚本问题中出现过几次。我试图让它通过目录中的多个文件查找一个词(在本例中为 'webview'),理想情况下它会提取找到的行以及文件名。但是,程序陷入了这种无限循环,我不得不强制退出。如果它是由 findstr 引起的或者是什么原因引起的,任何帮助都将是惊人的,因为我已经盯着它看了几个小时了。我当前的代码如下:
ECHO off
SETLOCAL enabledelayedexpansion
ECHO Please input the path to the app directory you'd like scanned
SET /p directorypath=
CD %directorypath%
ECHO Scanning files for Webview
(
FOR /F "delims=" %%a in ('findstr /I /S /M "webview" *.json') DO (
SET "line=%%a"
SET "line=!line:*webview=!"
FOR /F "delims=<" %%b in (!line!) DO ECHO %%b
)) > WebviewScanResults.txt
:eof
更新:代码已更新并可作为参考使用。我几乎只是 运行 上面的代码几次用不同的文件类型替换 *.json 并且它工作正常。
只是一次未经测试的尝试,对我来说太晚了:
@ECHO off
SETLOCAL enabledelayedexpansion
ECHO Please input the path to the app directory you'd like scanned
SET /p directorypath=
PushD "%directorypath%"
ECHO Scanning files for Webview
(
FOR /F "tokens=1*delims=:" %%a in ('findstr /I /S "webview" *.html') DO (
SET "line=%%b"
SET "line=!line:*webview=!"
FOR /F "delims=<>" %%b in ("!line!") DO ECHO %%a:%%b
)) > WebviewScanResults.txt