V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Devin
V2EX  ›  问与答

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

  •  
  •   Devin · Nov 28, 2016 · 2261 views
    This topic created in 3447 days ago, the information mentioned may be changed or developed.
    这样会无限循环,不断输出当前登录用户名
    @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)


    请问是哪里出了问题?
    Supplement 1  ·  Dec 11, 2016
    重启电脑恢复正常😂
    4 replies    2016-11-28 16:12:28 +08:00
    cppgohan
        1
    cppgohan  
       Nov 28, 2016   ❤️ 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  
       Nov 28, 2016
    我猜你这个提权脚本应该是被什么安全软件拦截了吧 :), 我的机器是没问题的.
    Devin
        3
    Devin  
    OP
       Nov 28, 2016
    @cppgohan 看起来是卡住了,管理员权限运行还是有问题,奇怪的是第 2 个 net localgroup 在循环体外,系统 WIN7
    Devin
        4
    Devin  
    OP
       Nov 28, 2016
    @cppgohan 更奇怪的是直接在 dos 运行命令是正常的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5198 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 05:40 · PVG 13:40 · LAX 22:40 · JFK 01:40
    ♥ Do have faith in what you're doing.