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