cmd 批处理命令 获取 findstr 匹配结果
cmd批处理命令获取匹配结果需求如下:我要判断%var%是否满足我自己定义的一个正则比如echoabc|findstr"[0-9]*"这样的话只能输出但是我不能获取这个匹...
cmd 批处理命令获取匹配结果
需求如下:
我要判断 %var% 是否满足我自己定义的一个正则
比如 echo abc|findstr "[0-9]*" 这样的话只能输出 但是我不能获取这个匹配结果的值
最好能把匹配后的值放到一个新的变量里去,这样我只要判断这个变量是否为空即可 展开
需求如下:
我要判断 %var% 是否满足我自己定义的一个正则
比如 echo abc|findstr "[0-9]*" 这样的话只能输出 但是我不能获取这个匹配结果的值
最好能把匹配后的值放到一个新的变量里去,这样我只要判断这个变量是否为空即可 展开
5个回答
展开全部
有点疑问,你那查找字符串的表达式有问题 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 结果为空
用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 结果为空
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
set /p a=请输入你要查询的变量:
findstr "%a%" "1.txt"
pause
1.txt为你要查询的文件
我能想到的就是这样了。。。
set /p a=请输入你要查询的变量:
findstr "%a%" "1.txt"
pause
1.txt为你要查询的文件
我能想到的就是这样了。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if %errorlevel% == 0
用这个语句判断上一个语句的执行结果。
用这个语句判断上一个语句的执行结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
echo abc|findstr "[0-9]*"&&set flag=Y
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询