For循环中的错误级别(批处理窗口)
发布时间:2020-12-13 20:51:10 所属栏目:Windows 来源:网络整理
导读:我有以下windows批处理代码: for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do ( tasklist | findstr /i %%i echo %errorlevel% if %errorlevel% == 0 (echo %%i ok process found %errorlevel%) if %errorlevel% == 1 (echo %%i no process
我有以下windows批处理代码:
for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do ( tasklist | findstr /i %%i echo %errorlevel% if %errorlevel% == 0 (echo %%i ok process found %errorlevel%) if %errorlevel% == 1 (echo %%i no process found %errorlevel%) ) 但是它并没有像我预期的那样工作。 所有的名称进程iidbms,iigcc,iigcd,dmfacp,dmfrcp,rmcmd都是真实的,它们被发现,而qwerty是一个发明的,不应该找到它,所以应该打印“没有进程找到1”,但它不,它始终打印0。 但是我注意到,如果我运行任务列表| findstr / i qwerty从dos提示符,就在%errorlevel%= 1之后。 什么样的答案可以或更好?
如果返回码等于或高于指定的错误级别,则IF ERRORLEVEL返回TRUE。在您的示例中,由于0低于1,所以如果实际的错误代码为0或更高,则第一个错误级别语句将始终为真。你想要的是首先测试错误级别1。
例如。: for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do ( tasklist | findstr /i %%i if errorlevel 0 if not errorlevel 1 echo process if errorlevel 1 if not errorlevel 2 echo process not found ) 另一个问题是如果你想回应在for循环中的实际的错误级别。由于在循环开始之前解析变量,所以回显%errorlevel%将始终为0。如果要在执行时回显该值,则需要修改代码段: setlocal enabledelayedexpansion for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do ( tasklist | findstr /i %%i if errorlevel 0 if not errorlevel 1 echo %%i ok process found !errorlevel! if errorlevel 1 if not errorlevel 2 echo %%i no process found !errorlevel! ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – NetBIOS“免费”网络?
- Windows Server 2012 R2(Hyper-V VM) – 随机BSOD
- windows-server-2008 – Windows 2008 R1上的IIS管理PowerS
- 重置NTFS权限磁盘宽
- microsoft-edge – 是否有任何方法可以通过Internet Explor
- win10系统中对本地端口进行简单分析
- Shared Event-loop for Same-Origin Windows(译)
- 如何使用无效的Windows文件名处理在Linux上提交给Git的文件
- windows-server-2008 – 使用Windows Server 2008,何时需要
- windows – 什么是WinHttpAutoProxySvc?
推荐文章
站长推荐
- Windows Phone 8 – 要在Windows Phone 8中使用的
- .net – 十进制为主键在Dev(Win7 / 64bit)中工作
- windows-server-2003 – GetFileSize方法在14617
- windows – 可以在2008 R2终端服务器场中使用ser
- windows-server-2008 – 如何在不在域上时规避或
- Windows – Git无法在网络驱动器上初始推送到新的
- windows-phone-8 – 为什么要警告Newtonsoft.Jso
- 如何“安装”自定义Windows驱动程序?
- windows-phone-7 – 列表是否有点击行为?
- windows – django-admin.py startproject打开记
热点阅读