簡體   English   中英

在命令提示符下執行時無法在批處理文件中運行命令

[英]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.

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