V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Devin
V2EX  ›  问与答

为什么这段 bat 脚本会无限循环?

  •  
  •   Devin · 2016-11-28 14:23:20 +08:00 · 1900 次点击
    这是一个创建于 2721 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这样会无限循环,不断输出当前登录用户名
    @echo off
    for /f "tokens=2" %%i in ('query session ^| findstr "^>"') do (net localgroup /add Administrators %%i)

    换成这样也会
    @echo off
    for /f "tokens=2" %%i in ('query session ^| findstr "^>"') do (echo %%i)
    net localgroup /add Administrators everyone

    然而只要不包含 net localgroup 语句就正常了,比如
    @echo off
    for /f "tokens=2" %%i in ('query session ^| findstr "^>"') do (echo %%i)


    请问是哪里出了问题?
    第 1 条附言  ·  2016-12-11 20:12:07 +08:00
    重启电脑恢复正常😂
    4 条回复    2016-11-28 16:12:28 +08:00
    cppgohan
        1
    cppgohan  
       2016-11-28 15:06:45 +08:00   ❤️ 1
    你的第二个
    @echo off
    for /f "tokens=2" %%i in ('query session ^| findstr "^>"') do (echo %%i)
    net localgroup /add Administrators everyone

    循环应该已经执行完毕了吧, 应该是说明执行"net localgroup /add Administrators everyone"
    命令行卡住了?
    cppgohan
        2
    cppgohan  
       2016-11-28 15:10:15 +08:00
    我猜你这个提权脚本应该是被什么安全软件拦截了吧 :), 我的机器是没问题的.
    Devin
        3
    Devin  
    OP
       2016-11-28 16:11:23 +08:00
    @cppgohan 看起来是卡住了,管理员权限运行还是有问题,奇怪的是第 2 个 net localgroup 在循环体外,系统 WIN7
    Devin
        4
    Devin  
    OP
       2016-11-28 16:12:28 +08:00
    @cppgohan 更奇怪的是直接在 dos 运行命令是正常的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2760 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:24 · PVG 10:24 · LAX 19:24 · JFK 22:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.