如何将提取quser命令ID的PowerShell脚本转为批处理命令?
批处理实现提取quser指定用户ID
以下是替代原PowerShell脚本的cmd/批处理命令,可实现从quser输出中提取指定用户的ID:
@echo off setlocal enabledelayedexpansion :: 设置要查找的用户名,可替换为实际目标用户名或者通过参数传入 set "usuario=admin" :: 执行quser命令并逐行处理输出 for /f "skip=1 tokens=1,3" %%a in ('quser 2^>nul') do ( :: 去除用户名开头的>符号 set "user=%%a" set "user=!user:>=!" :: 匹配目标用户名时输出对应的ID if "!user!"=="%usuario%" ( echo %%b ) ) endlocal
关键说明:
skip=1:跳过quser输出的第一行表头tokens=1,3:提取每行的第1个字段(用户名)和第3个字段(用户ID)set "user=!user:>=!":移除用户名开头可能存在的>符号(当前活跃用户会带这个标记)enabledelayedexpansion:确保循环内变量修改能即时生效
如果需要通过命令行参数传入用户名,可修改脚本开头为:
@echo off setlocal enabledelayedexpansion if "%~1"=="" ( echo 请指定要查找的用户名,用法:%0 用户名 exit /b 1 ) set "usuario=%~1"
内容的提问来源于stack exchange,提问作者b28
相关产品推荐
相关产品推荐

