【问题标题】:How do I Continue a batch file only if a process IS running仅当进程正在运行时如何继续批处理文件
【发布时间】:2010-06-03 15:23:12
【问题描述】:

我已经成功地保存了一个批处理文件,直到一个进程结束。但是如何在进程开始之前保存批处理文件?

我正在使用以下代码:

@echo off

set process_1="calc.exe"
set process_2="mmc.exe"
set ignore_result=INFO:
set no_ignore=mmc.exe

:1
for /f "usebackq" %%M in (`tasklist /nh /fi "imagename eq %process_1%"`) do if not %%M==%ignore_result% goto 1
:2
for /f "usebackq" %%N in (`tasklist /nh /fi "imagename eq %process_2%"`) do if not %%N==%no_ignore% goto 2

echo Stuff finished.......

当程序未运行时,我得到的只是“信息:没有按指定条件运行的任务”

提前致谢

S

【问题讨论】:

    标签: process batch-file for-loop tasklist


    【解决方案1】:

    将错误(2)重定向到标准输出(1):

    @echo off
    
    

    set process_1="calc.exe" set process_2="mmc.exe" set ignore_result=INFO: set no_ignore=mmc.exe

    :1 for /f "usebackq tokens=1" %%M in (tasklist /nh /fi "imagename eq %process_1%" 2^>^&1) do if not %%M==%ignore_result% goto 1 :2 for /f "usebackq tokens=1" %%N in (tasklist /nh /fi "imagename eq %process_2%" 2^>^&1) do if not %%N==%no_ignore% goto 2

    echo Stuff finished.......

    您还可以使用sleep 函数(使用ping 命令查找函数)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2012-08-14
      相关资源
      最近更新 更多