Session 批处理编程-比较字符串
我想为选定的人员组执行操作为此,我正在尝试编写一个批处理命令,该命令可以完美地为所有人员组执行操作,因此我添加了一个if条件,该条件将仅拾取以该字符串名称开头的人员。请找到下面的代码。但它现在不知何故正在发挥作用Session 批处理编程-比较字符串,session,batch-file,Session,Batch File,我想为选定的人员组执行操作为此,我正在尝试编写一个批处理命令,该命令可以完美地为所有人员组执行操作,因此我添加了一个if条件,该条件将仅拾取以该字符串名称开头的人员。请找到下面的代码。但它现在不知何故正在发挥作用 SetLocal EnableDelayedExpansion query session >session.txt for /f "skip=2 tokens=2," %%i in (session.txt) DO ( SET _prefix=%i:~0,6% IF %_
SetLocal EnableDelayedExpansion
query session >session.txt
for /f "skip=2 tokens=2," %%i in (session.txt) DO (
SET _prefix=%i:~0,6%
IF %_prefix%==myuser (
logoff %%i
)
)
del session.txt
EndLocal
Output of query session :
SESSIONNAME USERNAME ID STATE TYPE DEVICE
services 0 Disc
>console myuser01 1 Active
可以有多个会话,如myuser02、myuser03等
for /f "tokens=1,2*" %%a in ('Qwinsta^|find /i "myuser"') DO (
logoff %%b
)
这可能会更容易吗?可能会有帮助,为什么要包括令牌1?此外,FINDSTR将更精确:
对于/f“tokens=2”%%U in('qwinsta^ | FINDSTR/bri“…..myuser“'),请注销%%U
,谢谢dbenham和Npcmaka