[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何关闭一个EXE执行窗口

  1. @echo off
  2. :loop
  3. setlocal enabledelayedexpansion
  4. set py_exe="D:\Python37\pythonw.exe"
  5. set cmd1="D:\test\9.py"
  6. for /f "tokens=1,2,3,4 delims=," %%a in (D:\test\925.txt) do (
  7. ping -n 5 127.1>nul
  8. start /wait %py_exe% %cmd1% "%%a" "%%b" "%%c" "%%d"
  9. )
  10. ping -n 10 127.1>nul
  11. goto loop
  12. pause>nul
复制代码
批处理执行时,会循环跳出一个c/windows/py.exe标题的CMD窗口,该如何在循环中执行完一个命令,去关闭这个c/windows/py.exe标题的CMD窗口呢?

  1. TASKKILL /F  /FI "WINDOWTITLE eq c/windows/py.exe"
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 2# ivor
测了,没用呀?

@echo off
:loop
setlocal enabledelayedexpansion
set py_exe="D:\Python37\pythonw.exe"
set cmd1="D:\test\9.py"
for /f "tokens=1,2,3,4 delims=," %%a in (D:\test\925.txt) do (
ping -n 5 127.1>nul
start /wait %py_exe% %cmd1% "%%a" "%%b" "%%c" "%%d"
taskkill /f  /fi "windowtitle eq c:\Windows\py.exe"
)
ping -n 10 127.1>nul
goto loop
pause>nul

TOP

回复 2# ivor


  进程里没有py.exe,只是执行完一个PYTHON文件,把跳出的CMD窗口关掉,再执行下一个

TOP

  1. tasklist /v /fi "imagename eq py.exe"
复制代码
首先确认进程标题

TOP

回复 5# 不知道是谁

  这是循环弹出的  c:\windows\py.exe的CMD窗口,进程里也没有py.exe,我是要执行完一个PYTHON文件,关闭以弹出的CMD窗口,然后再执行下一个

TOP

大佬帮忙啊!!

TOP

回复 6# zcwslj


执行你的bat脚本之前,先执行命令:
  1. tasklist > C:\1.txt
复制代码
执行你的bat脚本之后,再执行命令:
  1. tasklist > C:\2.txt
复制代码
把1.txt和2.txt打包压缩传上来看看进程名的对比
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher

好的!

TOP

折腾到半夜,问题终于解决了。感谢各位大佬的帮助,尤其是Batcher管理的提醒。,由于我的python文件使用了基于JAVA的代理,关闭方法并不能够完全清除相关进程,我在PYTHON代码里解决了,批处理中无需加入关闭进程的命令,就可以实现我要的效果了,谢谢各位!:loveliness:

TOP

返回列表