psexec 未被识别为内部或外部命令,而 运行 来自 windows 调度程序的批处理文件

psexec is not recognized as an internal or external command while running a batch file from windows scheduler

我有一个 .bat 文件来启动 Windows 服务。当我 运行 它手动工作时它工作正常但是如果我 运行 它从任务调度程序它给出以下错误。

'psexec64.exe' is not recognized as an internal or external command,
operable program or batch file.
The system cannot find the file sessid.txt.
Press any key to continue . . .

我尝试了以下场景

仍然没有运气

@echo off
setlocal enabledelayedexpansion

set username=user1
set usr=bdomain\user1
set password=2018
set machine=192.168.1.16

psexec64.exe \%machine% -u %usr% -p %password% query session %username%>D:\Service_Start\sessid.txt

set /a counter=0
for /F "tokens=* skip=1" %%a in (sessid.txt) do (
    for %%b in (%%a) do (
        set /a counter+=1
        if !counter! == 3 (
            psexec64.exe \192.168.1.16 -u bdomain\user1 -p 2018 -i %%b -d net start OracleServiceTest
        )
    )
)
pause;

将代码修改如下,可以正常工作了

setlocal enabledelayedexpansion

                                  set username=user1
                                  set usr=bdomain\user1
                                  set password=2018
                                  set machine=192.168.1.16

                                  D:\PSTools\psexec64.exe \%machine% -u %usr% -p %password% query session %username%>D:\Service_Start\sessid.txt

                                  set /a counter=0
                                  for /F "tokens=* skip=1" %%a in (D:\Service_Start\sessid.txt) do (
                                  for %%b in (%%a) do (
                                  set /a counter+=1
                                  if !counter! == 3 ( 

                                   D:\PSTools\psexec64.exe \192.168.1.16 -u bdomain\user1 -p 2018 -i %%b -d net start OracleServiceTest

                                  )
                                  )
                                  )