[英]Can't run a command in a batch file while in command prompt it executes
在此問題上停留了一段時間,我嘗試在此論壇和類似論壇上找到答案,但是沒有任何效果。
我得到以下命令:
FOR /F "tokens=3 skip=1" %i IN (C:\logoff\query.txt) DO logoff %i /server:192.168.0.231
基本上,它從query.txt文件中獲取數字,並通過其會話ID號將用戶從服務器注銷。
如果我在命令提示符下執行命令,它會起作用,但是我似乎無法使其批量運行。 我已經嘗試將百分比符號加倍,就像在論壇中建議的那樣-什么都沒有。
我假設確認命令應可批量使用,但應使用“運行...”執行,但不是。
命令以FOR
開頭的問題是什么? 我放棄..
for
可替換參數(包含迭代當前值的“變量”)使用%x
語法。 但是在批處理文件中,百分號需要轉義,語法為%%x
(請參閱for /?
)。
FOR /F "tokens=3 skip=1" %%i IN (C:\logoff\query.txt) DO logoff %%i /server:192.168.0.231
^^ ^^
嘗試這個:
for /F "usebackq tokens=3 skip=1 delims=|" %%i in ("C:\logoff\query.txt") do logoff %%i /server:192.168.0.231
我的問題是,就像@MC ND所說的那樣,您忘記使用delims了 。
您query.txt中必須是這樣的:
1|1|111
2|2|222
3|3|333
輸出:
logoff 222 /server:192.168.0.231
logoff 333 /server:192.168.0.231
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.