我已经创建了一个远程运行 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 )