[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 新人求助如何创建一个具有查询功能的批处理

大家好:
   我想创建一个具有查询功能的批处理,比如我把下面的数据导入
  M01-MAIN  192.168.1.1
   M02-MIAN  192.168.1.2

然后批处理显示:欢迎使用IP查询,请输入序号:
然后我输入M01-MAIN  ,它就显示192.168.1.1



谢谢

回复 4# liaoxy


@echo off
set "fi=c:\1.txt"
:a
set/p no=欢迎使用IP查询,请输入序号 :
if not defined no (
    goto :a
) else (
    if /i "%no%"=="finish" (
        goto :eof
    ) else (
        if /i "%no%"=="cls" cls&goto :a
    )
    for /f "tokens=1*" %%a in ('findstr /i "\<%no%\>" "%fi%" ^|^|echo,no 输入错误,或%no%不存在') do (
        echo,%%b&goto :a
    )
)

TOP

回复 3# 慕夜蓝化


    你好,我想把路径直接设置好,比如c:\1.txt.直接显示输入序号哪里,应该怎么改?

TOP

本帖最后由 慕夜蓝化 于 2015-1-21 15:24 编辑
  1. @echo off
  2. :fi
  3. set/p fi=请输入路径名^<%cd%\1.txt^> :&cls
  4. if not defined fi (
  5.     goto :fi   
  6. ) else (
  7.     if not exist "%fi%" echo,%fi%   文件不存在&goto :fi
  8. )
  9. call :a&echo,按任意键退出...&pause >nul&exit
  10. :a
  11. set/p no=欢迎使用IP查询,请输入序号 :
  12. if not defined no (
  13.     goto :a
  14. ) else (
  15.     if /i "%no%"=="finish" (
  16.         goto :eof
  17.     ) else (
  18.         if /i "%no%"=="cls" cls&goto :a
  19.     )
  20.     for /f "tokens=1*" %%a in ('findstr /i "\<%no%\>" "%fi%" ^|^|echo,no 输入错误,或%no%不存在') do (
  21.         echo,%%b&goto :a
  22.     )
  23. )
复制代码
嗯嗯,这很有趣。你应该测试一下。
—添加了cls,这样会更舒服。
—添加了文件的存在判断,你不用担心是否打错了某个单词,或者汉字。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 1# liaoxy
  1. @echo off
  2. :main
  3. set /p w=请输入要查询的关键字:
  4. (findstr /c:"%w%" "test.txt")||echo 没有找到相关字段!
  5. echo.&pause
  6. cls
  7. goto main
复制代码
  1. @echo off
  2. :main
  3. set /p w=请输入要查询的关键字:
  4. for /f "tokens=1-2 delims= " %%a in ('findstr /c:"%w%" "test.txt"') do (
  5. if "%%b" neq "" (echo %%b)
  6. pause&cls
  7. goto main
  8. )
  9. echo 没有找到相关字段!
  10. pause&cls
  11. goto main
复制代码

TOP

返回列表