首页
学习
活动
专区
圈层
工具
发布

FINDSTR不能在for循环中使用ERRORLEVEL

FINDSTR是Windows操作系统中的一个命令行工具,用于在文本文件中搜索指定的字符串模式。它可以用于查找包含特定文本的文件或从文件中提取特定文本。

在for循环中使用FINDSTR时,可能会遇到ERRORLEVEL的问题。ERRORLEVEL是一个环境变量,用于指示上一个命令的执行结果。当使用FINDSTR命令时,如果找到了匹配的字符串,ERRORLEVEL的值将被设置为0,表示成功;如果没有找到匹配的字符串,ERRORLEVEL的值将被设置为1,表示失败。

然而,在for循环中,当使用FINDSTR命令时,无论是否找到匹配的字符串,ERRORLEVEL的值始终保持不变。这是因为for循环在执行过程中会将FINDSTR命令的输出结果缓存起来,而不会实时更新ERRORLEVEL的值。因此,无法通过ERRORLEVEL来判断FINDSTR命令是否成功执行。

为了解决这个问题,可以使用其他方法来判断FINDSTR命令是否成功执行。例如,可以使用管道符号(|)将FINDSTR命令的输出结果传递给另一个命令,然后通过判断该命令的ERRORLEVEL来确定FINDSTR命令是否成功执行。

总结起来,FINDSTR不能在for循环中使用ERRORLEVEL来判断执行结果。如果需要在for循环中使用FINDSTR命令并判断执行结果,可以考虑使用其他方法来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • findstr支不支持变量查找,即将变量赋值给findstr。比如 @echo off fo

    findstr支不支持变量查找,即将变量赋值给findstr。比如 @echo off for / findstr支不支持变量查找,即将变量赋值给findstr。...比如 @echo off for /f "delims=" %%a in ('dir /ad/s/b') do ( for /f "delims=" %%b in ('dir /a-d/s/b findstr...%%a 只能表示循环计数的变量 不能表示普通变量 那请问怎么修改呢? 你要达到的效果是按照根目录的顺序将文件排序??...for /f "delims=" %%a in ('dir /ad/b') do ( for /f "delims=" %%b in ('dir /a-d/s/b') do ( echo %%b|findstr...%%a>nul 2>nul if %errorlevel% equ 0 ( echo %%b ) )) 我的目的是移动符合条件的文件所在的文件夹 比如找到某个符合条件的的文件就移动这个文件所在的文件夹

    30310

    Java 中为什么不推荐在 while 循环中使用 sleep()

    前言最近逛 CSDN 看到一篇文章,文章大意是说为什么在循环中不推荐使用 sleep 操作,原因在于线程挂起和唤醒会有很大的性能消耗,并推荐使用 Timer 及 ScheduledExecutorService...// do something }}上面的代码你可能会得到下面的警告:Call to ‘Thread.sleep()’ in a loop, probably busy-waiting// 循环中调用...sleep 可能会导致忙等待 // 如 FLAG 变量状态未改变 那么线程可能一直循环,并不断进行线程挂起和唤醒原因是否正确主要原因和原文博主所说有很大的关系但不完全正确:我们都知道 Java 线程实际对应着操作系统中的一个线程...比如微服务体系中,客户端上报实例状态,或者服务端检测客户端状态都会使用定时轮询的机制。...在 Java AQS 等待获取锁和线程池任务为空等待新任务时,会使用等待和唤醒操作轮询机制 和 等待和唤醒 一般会结合使用,避免线程频繁的挂起和唤醒。

    2.4K30

    数据库服务管理脚本(windows)

    在本地开发环境中,我们常常需要管理 MySQL 服务的状态。为了避免 MySQL 服务在后台占用过多内存,并且在需要时便于快速启动和停止,编写了一个简单的批处理脚本来帮助管理 MySQL 服务。...echo MySQL 服务已设置为开机自启动.) else ( echo MySQL 服务未设置为开机自启动.)echo.echo MySQL 服务监听端口:netstat -ano | findstr..."3306"if %errorlevel%==0 ( echo MySQL 服务正在监听 3306 端口.) else ( echo MySQL 服务未监听 3306 端口.)echo.echo...timeout /t 2 >nul goto menu)扩展功能:**检测是否在监听 3306 端口**```echo MySQL 服务监听端口:netstat -ano | findstr "3306..."if %errorlevel%==0 ( echo MySQL 服务正在监听 3306 端口.) else ( echo MySQL 服务未监听 3306 端口.)

    12010

    hp服务器ilo批量配置脚本

    hp 服务器ilo批量配置脚本 hp的ilo是一个非常方便的带外管理工具,在平时使用的时候,经常有大量的hp服务器需要配置ilo,下面是我下的一个脚本,可以批量的完成hp服务器ilo配置。...脚本功能: 1 自动升级ilo固件; 2 自动加入test.com的域,注意域dns在adcfg.xml文件中要配置正确; 使用方法  auto_cfg_ilo3 ilo的ip ilo的user ilouse... "succeeded" if errorlevel  1 (     goto err_con   ) else (     echo 连接成功   )   echo 开始固件升级,可能需要5分钟左右... "succeeded" if errorlevel  1 (     goto con_again   ) else (     echo 连接成功   )   echo 开始配置ad认证 sleep.exe... "succeeded" if errorlevel  1 (     goto con_again2   ) else (     echo 连接成功   )   echo 完成 goto end

    2.4K50

    python中如何使用for循环_python循环5次

    前言:本文简单总结了一下python中for循环的使用 ---- 目录 for循环迭代字符串 for打印数字 注意for循环不能迭代数值类型 for循环打印数字的话要借用range函数 for循环可用来初始化列表...简单的往列表里添加数据 列表推导式 ---- python中for循环一般用来迭代字符串,列表,元组等。...当for循环用于迭代时不需要考虑循环次数,循环次数由后面的对象长度来决定。...for循环迭代字符串 for循环可以把字符串里面的元素都依次取出来,自动赋值给变量i然后再执行循环体内的代码块 print 里面的end可以设置每个值打印之后输出的字符串,默认是换行...for打印数字 注意for循环不能迭代数值类型 eg:int类型,123属于一个数,一个整体,算一个元素 for循环打印数字的话要借用range函数 range函数可以取到一个范围内的整数

    5.4K30

    关于拖拽功能在IE11 、Firefox和Safari中不兼容的问题

    firebox) 3是firefox在拖动的时候会打开一个新窗口 (firbox) 4是ie11不支持onclick属性方法 ; ie11 里元素对象的attributes的排序和其他浏览器不同, ie11 中...remove()方法不work (ie) 对于原因1的解决方案 其中IE11 压根就不支持path属性,firefox和Safari还勉强通过hack的方式获取到path,获取方式如下: const...event.composedPath()); console.log(path) //[button#btn, div, body, html, document, Window] 那么要兼容IE11怎么办,如果你使用了...path,只有一个办法就是规避使用path,用其他方式代替path,比如通过参数直接传入元素的id 通过document.getElementById处理元素。...解决这个问题 ,我是通过遍历attributes 找到符合我要的代替之前的写死的attributes顺序 针对ie11 remove()不work的情况,可以用代码 parent.removeChild

    3.9K30

    bat脚本根据mingw版本判断是否可编译3264位程序

    ,代表适用的处理器架构,i686代表是32位处理器,x86_64则代表64位处理器, posix则代表线程模式(threading model),windows下还有另一种线程模式win32,这里不展开说明...关于异常实现模型的概念还是看本文末尾的参考资料一节中列出的英文原文说得全面,下面是dwarf,seh,sjlj三种模型的简要介绍。...exit -1 ) echo MinGW/gcc found. rem 通过查找版本信息中是否有sjlj或seh字符串的判断是否能编译64位程序 gcc --version |findstr "sjlj...seh" if errorlevel 1 ( echo unsupported x86_64 build )else call:gcc_x86_64 rem 通过查找版本信息中是否有...sjlj或dwarf字符串的判断是否能编译32位程序 gcc --version |findstr "sjlj dwarf" if errorlevel 1 ( echo unsupported

    1.7K30

    matlab如何使用循环语句_matlab中循环语句怎么写

    是一个随着i变化的向量,loop1时向量中有1个元素;loop2时有2个元素,分别是loop1中值和loop2中的值。这种情况下,不会覆盖loop1中参数。...c=a*i %得到循环某个值的具体值。是一个元素,loop2会覆盖loop1中元素 d(3)=a*i %d(3)表示其中包含3个元素,若不够则用0填。...固定为一个有3个元素的向量,元素不够是用0填,会覆盖loop1中元素。...且如果a不重新赋值,a为外循环上一次数字最后值 a=a+j end D=C+a end [D] 2) for嵌套for语句中loop2中出现loop1数据 (while...=13,E存在2^13次方个数据,而当进入loop2后,j=1时,MATLAB中仍会有2^13个次数,但会更新loop1中留下的2^13次方中前2两个数,其余数据会保持!!!!!!

    6.7K20

    运维必学 | 条件语句-从零开始学Windows批处理(Batch)编程系列教程

    weiyigeek\weiyigeek Program had return code 0 0x01 批处理(Batch)条件判断 描述: 批处理中主要使用 if 语句命令执行批处理程序中的条件处理。...1.IF 条件 (命令) ELSE (命令) 描述: 我们在批处理脚本使用IF...ELSE...条件判断语句,可以帮助我们好的处理业务流程,但是在实际使用中请注意其语法格式,在批处理脚本中此关键字需要写在同一行上...示例演示: :: # 使用 %errorlevel% 变量判断命令是否成功执行。..."Author is WeiyiGeek" Q: 如果不写在同一行上会怎么样呢?...% 2.使用返回值来判断复制任务是否执行成果,此处使用XCOPY命令演示ErrorLevel等级,如果文件拷贝成功屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。

    81620

    1. 批处理常用符号详解:

    即:不能使用!!来引用变量。即使是在for中也是一样。...后的命令语句,而无论这个元素是否被带到command2中参与了command2的运行;当执行完一次do后的语句之后,再提取command1中的下一个元素,再执行一次command2,如此循环,直到command1...要查找包含字“FOR”的所有行(前面可有任意数量的空格,如:计算机程序中的循环),并包括每次出现的行号,请键入:findstr /b /n /c:"*FOR" *.bas使用文件 Finddata.txt 中内容为搜索条件,来搜索 Filelist.txt 中列出的文件,然后将结果保存到文件 Results.out 中,请键入:findstr...ERRORLEVEL ? 值。在一个批程序中使用 ? ERRORLEVEL ? 参数时,将参数降序排列。 ?

    2.1K21
    领券