cmd 批处理命令 获取 findstr 匹配结果

cmd批处理命令获取匹配结果需求如下:我要判断%var%是否满足我自己定义的一个正则比如echoabc|findstr"[0-9]*"这样的话只能输出但是我不能获取这个匹... cmd 批处理命令获取匹配结果
需求如下:
我要判断 %var% 是否满足我自己定义的一个正则
比如 echo abc|findstr "[0-9]*" 这样的话只能输出 但是我不能获取这个匹配结果的值
最好能把匹配后的值放到一个新的变量里去,这样我只要判断这个变量是否为空即可
展开
 我来答
电子数码小百科NW
2020-02-15 · TA获得超过6493个赞
知道答主
回答量:15
采纳率:0%
帮助的人:4032
展开全部

1、打开运行,并输入“cmd”。

2、回车后命令提示符自动打开。

3、在命令提示符中输入“findstr”命令。

4、设定要查询的字符。

5、设定要查询的文件路径。

6、点击回车,查看查询结果,可以看到,含有“不”字的行,都展示了出来。

7、如果要查询字符“的”,就获得了匹配结果,如下图就完成了。

yyykkkyyyy
推荐于2017-11-23 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3300万
展开全部
有点疑问,你那查找字符串的表达式有问题 findstr "[0-9]*" 相当于无限制查找,没实际意义。只当你敲错了(下面以查纯数字串为例)。
用for /f 命令可以把一命令显示的结果赋给如%a这种变量进行各种操作,可以直接操作,也可保存为另一变量中备用,详for/?
for /f "delims=" %%a in ('echo %var%^|findstr "^[0-9]*$" 2^>nul')do set newvar=%%a
但对于你所说的只要判断是否为空的用途,我推荐另一方式:
echo %var%|findstr "^[0-9]*$" >nul&&echo 结果不为空||echo 结果为空
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eahwa69
2011-01-15 · TA获得超过302个赞
知道答主
回答量:329
采纳率:0%
帮助的人:216万
展开全部
@echo off
set /p a=请输入你要查询的变量:
findstr "%a%" "1.txt"
pause

1.txt为你要查询的文件

我能想到的就是这样了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangnan2099
2011-01-23 · TA获得超过116个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
if %errorlevel% == 0

用这个语句判断上一个语句的执行结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4564d7b
2011-01-24 · TA获得超过4801个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:0
展开全部
echo abc|findstr "[0-9]*"&&set flag=Y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式