前言

Powershell下筛选字符串有findstr指令。但我用grep习惯了,一时半会不想改主要是findstr字太多了

所以自己写一个脚本来模拟grep功能。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
setlocal enabledelayedexpansion

:: 检查参数
if "%~1"=="" (
echo 用法: grep 搜索词
echo 示例: command | grep 搜索词
exit /b 1
)

:: 搜索词是第一个参数
set "searchterm=%~1"

:: 处理标准输入并搜索
for /f "usebackq tokens=*" %%a in (`findstr /i /L /C:"%searchterm%" 2^>nul`) do (
echo %%a
)

endlocal
exit /b 0