从 powershell 运行时无法终止批处理文件

从 powershell 运行时无法终止批处理文件

我已经创建了一个远程运行 exe 文件的批处理文件,我正在将该批处理文件发送到目标位置并通过 powershell 运行该批处理。

批处理文件

f:
cd \test\exe
testsql.exe  >> c:\temp\testsqllog.txt

这会将一些数据拉到服务器并且日志将创建到 testsqllog.txt 但是 testsql.exe 没有结束,我想通过按ctrl+c并按 确认来结束批处理文件y

当我通过 powershell 远程运行它时ctrl+c不起作用,如果我给出如下所示的内容

批处理文件

f:
cd \test\exe
start testsql.exe  >> c:\temp\testsqllog.txt
timeout /t 60
taskkill /im testsql.exe /f

timeout /t如果我正在终止 testsql.exe,也会出现错误,日志文件没有更新。

还有其他方法可以执行这个过程吗?

答案1

启动超时后尝试发送到后台

start "" /b testsql.exe //to background execution...
timeout.exe /t 60 //your countdown

@cd /d "f:\test\exe"
@start "" /b .\testsql.exe  >>"c:\temp\testsqllog.txt"
@%windir%\system32\timeout.exe /t 60

@%windir%\system32\taskkill.exe /im testsql.exe /f
  • 或者...
@start "" /b /d "f:\test\exe" testsql.exe >>"c:\temp\testsqllog.txt"

@%windir%\system32\timeout.exe /t 60
@%windir%\system32\tasklist.exe |find /i "testsql.exe" && (
@%windir%\system32\taskkill.exe /f /im testsql.exe /t )

相关内容