Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 命令行/脚本列出C:\users中的所有用户配置文件_List_Batch File_Profile - Fatal编程技术网

List 命令行/脚本列出C:\users中的所有用户配置文件

List 命令行/脚本列出C:\users中的所有用户配置文件,list,batch-file,profile,List,Batch File,Profile,我正在尝试创建一个非常简单的脚本,它将显示c:\users中的所有用户配置文件,如: %User1% %User2% 我尝试过使用WMIC循环,但它只是挂起 for /f "tokens=* skip=1" %%a in ('wmic UserAccount get Name') do ( if not "%%a"=="" ( ) ) 任何帮助都将不胜感激。请尝试使用此批处理脚本: @echo关闭 调

我正在尝试创建一个非常简单的脚本,它将显示
c:\users
中的所有用户配置文件,如:

%User1%
%User2%
我尝试过使用WMIC循环,但它只是挂起

for /f "tokens=* skip=1" %%a in ('wmic UserAccount get Name') do (
    if not "%%a"=="" (
       
    )
)

任何帮助都将不胜感激。

请尝试使用此批处理脚本:

@echo关闭
调用:WMICGET\u ECHO用户帐户名称“名称:”
暂停和退出
::---------------------------------------------------------------------------------------------------------------------------------------
基于这个答案:https://stackoverflow.com/a/63153964/8262102
:WMICGET_ECHO
@对于/f“skip=1 delims=“%%a in”(“'wmic%1 get%2””)do(@for/f“delims=“%%b in”(“%%a”)do echo%~3%%~nb&设置“WMICGET_VALUE=%%~nb”)
后藤:EOF
::---------------------------------------------------------------------------------------------------------------------------------------

与我在中提供的示例不同,下面的示例应该只列出“普通”用户名,这些用户名的本地配置文件位置在
C:\Users

所谓“正常”,我的意思是它应该忽略诸如“默认”、“来宾”和“管理员”之类的帐户

请注意,正如我在前面提到的评论中所提到的,用户名对于当前系统中的用户是正确的,但不一定是他们的配置文件目录父名称中使用的名称

@Echo Off&SetLocal EnableExtensions
对于(“%SystemRoot%\System32\wbem\WMIC.exe路径中的/F令牌^=2^Delims^=^”%%G
Win32\u用户配置文件,其中“特殊!='TRUE'和类似于'C:\\Users\\%%'的本地路径”
Assoc:List 2^>NUL')对于/F令牌的Do^=4^ Delims^=^“%%H In('
%SystemRoot%\System32\wbem\WMIC.exe用户帐户,其中“SID=”%%G'”关联:列表
/结果文件:SID 2^>NUL')Do Echo%%H
暂停
如果要通过CLI(而不是GUI)运行此批处理文件,可以删除脚本底部的
Pause
命令

也可以在命令提示符下直接运行它:

For/F Tokens^=2^ Delims^=^”%G In(“%SystemRoot%\System32\wbem\WMIC.exe Path Win32\u UserProfile其中“Special!='TRUE'和LocalPath类似于'C:\\Users\\\%'”Assoc:List 2^>NUL')Do@For/F Tokens^=4^ Delims^=^”%H In(“%SystemRoot%\System32\wbem\WMIC.exe UserAccount其中“SID='%G'”Assoc:List/ResultRole:SID 2^>NUL')Do@Echo%H

用户配置文件并不总是在
C:\Users
中,因此获取这些配置文件的最简单方法是
For/D%%G in(“C:\Users\*”)Do@Echo%%~nxG
。但是,这将返回创建用户帐户时使用的原始名称,不一定是他们现在选择的用户名。请回答您的问题,以明确您想要实现的目标。请注意,这列出了所有用户名,而不是位于
C:\Users
中的用户名,还包括一些您称之为“普通”用户的用户名。