|
|
发表于 2024-2-20 11:01:07
|
显示全部楼层
回复 1# GNGW
从语法层面来说,这样可以停顿:- @echo off
- set "retry_script_count=0"
- set "retry_count=0"
- set "process_count=0"
- set "vmware_process_txt_count=0"
- set "vmrun_count=0"
- set "OutFile=C:\Users\admin\Desktop\vmware_process.txt"
- :command_loop
- vmrun stop "D:\VMware\VMLib\hengFengBankClone\hengFengBankOne.vmx" soft
- :check_process
- tasklist /fi "imagename eq vmware-vmx.exe" 2>nul | find /i /n "vmware-vmx.exe" >"%OutFile%"
- if not exist "%OutFile%" (
- pause
- if %vmware_process_txt_count% equ 3 (
- set /a vmrun_count+=1
- goto :command_loop
- )
- if %vmrun_count% equ 3 (
- exit /b 1
- )
- set /a vmware_process_txt_count=0
- goto :check_process
- )
- pause
复制代码 但是你这个代码逻辑和你想实现的效果是有很大差距的,建议详细描述一下实际需求,我继续帮你修改代码逻辑。
首先第一个逻辑问题是,find命令即使查不到关键字,它仍然会创建一个空文件,所以下面的 if not exist 判断永远不会生效。 |
评分
-
查看全部评分
|