用bat批处理脚本从txt提取指定内容

 

data.txt 中的内容应该按照以下格式组织,每行表示一个记录,包含姓名、电话和性别,列之间用逗号分隔:

John Doe,1234567890,Male
Jane Smith,9876543210,Female
Bob Johnson,5555555555,Male

每行的第一列是姓名,第二列是电话,第三列是性别。

通过命令行参数输入要查找的姓名,并打印对应的信息:

@echo off
setlocal enabledelayedexpansion

set "inputFile=data.txt"   REM 替换为你的输入文件名
set "searchName=%~1"   REM 使用命令行参数作为要搜索的姓名

REM 遍历输入文件的每一行
for /f "usebackq tokens=1,2,3 delims=," %%a in ("%inputFile%") do (
    set "name=%%a"
    set "phone=%%b"
    set "gender=%%c"

    REM 判断是否找到匹配的姓名
    if "!name!"=="%searchName%" (
        REM 打印匹配的信息
        echo Name: !name!
        echo Phone: !phone!
        echo Gender: !gender!
        exit /b
    )
)

REM 若未找到匹配的姓名,打印提示信息
echo No matching record found for '%searchName%'.


在命令行中执行该脚本时,需要提供要查找的姓名作为命令行参数,例如:

lookup.bat John


注意:请确保将脚本中的inputFile设置为正确的输入文件路径和文件名。