39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
| @echo off
 | ||
| chcp 65001 > nul
 | ||
| setlocal enabledelayedexpansion
 | ||
| set "CURRENT_DIR=%~dp0"
 | ||
| 
 | ||
| :: 核心配置
 | ||
| set "TARGET_JARS=yjearth.jar geographysdk.jar"
 | ||
| set "JPS_EXE=%CURRENT_DIR%jdk\bin\jps.exe"
 | ||
| set "TEMP_FILE=%temp%\jps_output.txt"
 | ||
| 
 | ||
| :: 检查jps可用性
 | ||
| if not exist "!JPS_EXE!" (
 | ||
|     echo 错误:未找到jps.exe(!JPS_EXE!)
 | ||
|     endlocal && pause && exit /b 1
 | ||
| )
 | ||
| 
 | ||
| :: 获取Java进程列表
 | ||
| "!JPS_EXE!" -l > "!TEMP_FILE!" 2>nul
 | ||
| echo 正在查找运行中的进程...
 | ||
| 
 | ||
| :: 循环停止目标JAR
 | ||
| for %%J in (!TARGET_JARS!) do (
 | ||
|     set "PID="
 | ||
|     echo. && echo 查找 %%J 进程...
 | ||
|     :: 匹配进程ID
 | ||
|     for /f "tokens=1,2" %%a in ('type "!TEMP_FILE!"') do (
 | ||
|         echo "%%b" | findstr /i "%%J" >nul && set "PID=%%a"
 | ||
|     )
 | ||
|     :: 终止逻辑
 | ||
|     if defined PID (
 | ||
|         taskkill /pid !PID! /f > nul 2>&1
 | ||
|         if !errorlevel! equ 0 (echo 成功终止 %%J(PID:!PID!)) else (echo 终止 %%J(PID:!PID!)失败)
 | ||
|     ) else (echo 未找到运行中的 %%J 进程)
 | ||
| )
 | ||
| 
 | ||
| :: 清理临时文件
 | ||
| del "!TEMP_FILE!" >nul 2>&1
 | ||
| echo. && echo 操作完成
 | ||
| endlocal |