簡體   English   中英

從Windows批處理腳本中的文件中讀取值

[英]Reading a value from a file in a windows batch script

我正在嘗試從文件中讀取值並在后續命令中使用它。

我有一個名為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強制執行)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM