标题: [文本处理] 新人求助如何创建一个具有查询功能的批处理 [打印本页]
作者: liaoxy 时间: 2015-1-21 10:57 标题: 新人求助如何创建一个具有查询功能的批处理
大家好:
我想创建一个具有查询功能的批处理,比如我把下面的数据导入
M01-MAIN 192.168.1.1
M02-MIAN 192.168.1.2
然后批处理显示:欢迎使用IP查询,请输入序号:
然后我输入M01-MAIN ,它就显示192.168.1.1
谢谢
作者: pcl_test 时间: 2015-1-21 12:25
回复 1# liaoxy - @echo off
- :main
- set /p w=请输入要查询的关键字:
- (findstr /c:"%w%" "test.txt")||echo 没有找到相关字段!
- echo.&pause
- cls
- goto main
复制代码
- @echo off
- :main
- set /p w=请输入要查询的关键字:
- for /f "tokens=1-2 delims= " %%a in ('findstr /c:"%w%" "test.txt"') do (
- if "%%b" neq "" (echo %%b)
- pause&cls
- goto main
- )
- echo 没有找到相关字段!
- pause&cls
- goto main
复制代码
作者: 慕夜蓝化 时间: 2015-1-21 14:55
本帖最后由 慕夜蓝化 于 2015-1-21 15:24 编辑
- @echo off
- :fi
- set/p fi=请输入路径名^<%cd%\1.txt^> :&cls
- if not defined fi (
- goto :fi
- ) else (
- if not exist "%fi%" echo,%fi% 文件不存在&goto :fi
- )
- call :a&echo,按任意键退出...&pause >nul&exit
- :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
- )
- )
复制代码
嗯嗯,这很有趣。你应该测试一下。
—添加了cls,这样会更舒服。
—添加了文件的存在判断,你不用担心是否打错了某个单词,或者汉字。
作者: liaoxy 时间: 2015-1-22 13:13
回复 3# 慕夜蓝化
你好,我想把路径直接设置好,比如c:\1.txt.直接显示输入序号哪里,应该怎么改?
作者: DAIC 时间: 2015-1-22 13:26
回复 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
)
)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |