Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 检查另一个批处理文件进程的批处理文件_Windows_Batch File_Cmd_Tasklist - Fatal编程技术网

Windows 检查另一个批处理文件进程的批处理文件

Windows 检查另一个批处理文件进程的批处理文件,windows,batch-file,cmd,tasklist,Windows,Batch File,Cmd,Tasklist,所以谷歌根本帮不了我,我需要再问一次。 我使用这种方法来检查我的服务器是否在2个批处理文件中运行 tasklist /FI "IMAGENAME eq server_64.exe" 2> nul | find "server_64.exe" > nul IF ERRORLEVEL == 1 ( echo Server is not running echo. ) else ( echo Stopping Server ... echo. taskkill /F /IM server_

所以谷歌根本帮不了我,我需要再问一次。 我使用这种方法来检查我的服务器是否在2个批处理文件中运行

tasklist /FI "IMAGENAME eq server_64.exe" 2> nul | find "server_64.exe" > nul
IF ERRORLEVEL == 1 (
echo Server is not running
echo.
) else (
echo Stopping Server ...
echo.
taskkill /F /IM server_64.exe > nul 2>&1
)
一个启动,一个停止服务器。 好吧,这是伟大的工作,但当涉及到批处理文件,它不会为我工作。。。 我有一个服务器在phyton上运行,所以通过批处理文件启动它。 我的问题是,有没有一种方法可以获取批处理文件进程的状态,并像对exe工作一样停止它? 我希望我解释得足够好。
Thx预付款!:)

您可以使用以下批处理文件进行尝试:

@echo off 
set "Process=server_64.exe"
Title Checking for status of this process ===^> "%Process%"
tasklist /nh /fi "imagename eq %Process%" 2>nul |find /i "%Process%" >nul
IF '%ERRORLEVEL%' EQU '1' (
    Color 0B
    echo.
    echo "%Process%" is not running
) else (
    Color 0C
    echo.
    echo Stopping "%Process%" ...
    taskkill /F /IM "%Process%" > nul 2>&1
)
pause

您可以使用以下批处理文件进行尝试:

@echo off 
set "Process=server_64.exe"
Title Checking for status of this process ===^> "%Process%"
tasklist /nh /fi "imagename eq %Process%" 2>nul |find /i "%Process%" >nul
IF '%ERRORLEVEL%' EQU '1' (
    Color 0B
    echo.
    echo "%Process%" is not running
) else (
    Color 0C
    echo.
    echo Stopping "%Process%" ...
    taskkill /F /IM "%Process%" > nul 2>&1
)
pause

天哪,我找到了解决办法,这是一头野兽

tasklist /fi "imagename eq cmd.exe" /v /fo table /nh | find /i "Broker" 2>nul
但最重要的是,我不能得到愚蠢的输出。。。 当我试图使它静音时,它总是给我错误级别1

tasklist /fi "imagename eq cmd.exe" /v /fo table /nh 2>nul | find /i "Broker" 2>nul

那么这有什么问题^

天哪,我找到了解决办法,这是一头野兽

tasklist /fi "imagename eq cmd.exe" /v /fo table /nh | find /i "Broker" 2>nul
但最重要的是,我不能得到愚蠢的输出。。。 当我试图使它静音时,它总是给我错误级别1

tasklist /fi "imagename eq cmd.exe" /v /fo table /nh 2>nul | find /i "Broker" 2>nul

那么这有什么问题^

IF%ERRORLEVEL%==1(
IF ERRORLEVEL 1(
尽管这些
IF
不会给出相同的结果,请参阅和@JosefZ,最好是
IF%ERRORLEVEL%eq 1
(当两个表达式都是纯数字时,
==
运算符强制进行字符串比较,
eq
进行数字比较;如果ERRORLEVEL 1实际上意味着
如果ERRORLEVEL>=1
,但某些命令也可能使用负值
ERRORLEVEL
值)…该脚本适用于exe文件,就像它不适用于批处理文件一样。
IF%ERRORLEVEL%==1(
IF ERRORLEVEL 1(
尽管这些
IF
不会给出相同的结果,请参阅和@JosefZ,最好是
IF%ERRORLEVEL%eq 1
(当两个表达式都是纯数字时,
==
运算符强制进行字符串比较,
eq
进行数字比较;如果ERRORLEVEL 1实际上意味着
如果ERRORLEVEL>=1
,但某些命令也可能使用负值
ERRORLEVEL
值)…该脚本适用于exe文件,就像它不适用于批处理文件一样。你搞错了,也许我解释得不够好。我需要检查任务列表中运行的批处理文件不是运行良好的exe文件。我有一个启动phyton脚本的批处理文件,我想检查实际运行该脚本的cmd。当我在我使用“server|u 64.exe”的地方,我尝试使用“xyz.bat”它不会工作。我甚至尝试将批处理编译为exe文件以在任务列表中找到它,但由于某些原因它不会工作。任务列表/FI“WINDOWTITLE eq Administrator:Broker”2>NUL | find/i/N“cmd.exe”2> NUL不起作用我很沮丧,因为谷歌根本帮不了我,如果我使用“管理员:”也没什么区别作为前缀或不是两者都给了我错误级别1 duh…你搞错了,也许我解释得不够好。我需要检查任务列表中的批处理文件,该批处理文件运行的不是运行良好的exe文件。我有一个启动phyton脚本的批处理文件,我想检查实际运行该脚本的cmd。当我尝试使用“xyz.bat”时在我使用“server_64.exe”的地方,它不会工作。我甚至试图将批处理编译成一个exe文件,以便在任务列表中找到它,但由于某些原因它不会工作。任务列表/FI“WINDOWTITLE eq管理员:Broker”2>NUL | find/i/N“cmd.exe”2>NUL不会工作我感到沮丧,因为谷歌根本帮不了我,如果我使用xD,它也不会有什么不同管理员:“作为前缀或不作为前缀两者都给了我错误级别1 duh…duh我真的很抱歉!它只是>nul而不是0f 2>nulduh我真的很抱歉!它只是>nul而不是0f 2>nul!”