现在已经坚持了一段时间,我已经尝试在这个和类似的论坛上找到答案,但没有任何效果。
我收到了这个命令:
FOR /F "tokens=3 skip=1" %i IN (C:\logoff\query.txt) DO logoff %i /server:192.168.0.231
基本上它从query.txt文件中获取数字,并通过其会话ID号从服务器中注销用户。
如果我在命令提示符下执行命令,它会起作用,但我似乎无法让它在批处理中运行。我试过加倍百分号,就像有人在论坛上建议的那样 - 没什么。
我假设确认该命令应该在批处理上运行,它应该使用"运行...",它不会......但
命令是否以FOR
开头或者是什么情况?我放弃..
答案 0 :(得分:1)
for
可替换参数("变量"包含迭代的当前值)使用%x
语法。但是在批处理文件中,百分号需要进行转义,语法为%%x
(请参阅for /?
)。
FOR /F "tokens=3 skip=1" %%i IN (C:\logoff\query.txt) DO logoff %%i /server:192.168.0.231
^^ ^^
答案 1 :(得分:0)
试试这个:
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