我试图从文件中读取一个值,并在后续的命令中使用它。
我有一个名为AppServer.pid
的文件,其中包含我的应用程序服务器的进程ID(只是数字,它不是一个属性文件或类似的东西)。
应用程序服务器挂起,所以我想要取这个值,并将其传递给kill命令。 所以我的脚本会是这样的
SET VALUE_FROM_FILE=AppServer.pid # or something taskkill /pid %VALUE_FROM_FILE% /f
有没有一个方便的方法来做到这一点在Windows脚本?
这工作:
SET /P VALUE_FROM_FILE= < Appserver.pid taskkill /pid %VALUE_FROM_FILE% /f
与SET一起使用的/ P参数允许您使用来自用户的输入来设置参数的值(或者在这种情况下,来自文件的输入)
for /f %%G in (appid.txt) do (SET PID=%%G) echo %PID% taskkill etc here...
这可能有帮助!
如果知道进程的名称(从命令tasklist
返回),则可以使用进程名称上的筛选器运行taskkill
,即/FI IMAGENAME eq %process_name%
。
例如,要杀死所有名为nginx.exe
的进程运行:
taskkill /F /FI "IMAGENAME eq nginx.exe"
其中“英文读取”:杀死所有匹配过滤器/FI
“IMAGENAME等于nginx.exe”的任务(强制如果需要通过/F
)。