Если компьютер, с которого вы получаете информацию, находится в другом месте в сети, вы можете попробовать:
@Echo Off
Set "UserList="
For /F "UseBackQ Skip=1 Delims=" %%A In (`WMIC /Node:'My-PC'` /User:'Administrator' /Password:'MyPa55w0rd' Path^
Win32_UserProfile Where "Special='False' And Not LocalPath Like '%%0'" Get LocalPath 2^>Nul`
) Do For /F "Tokens=*" %%B In ("%%~nxA") Do Call :Sub %%~B
Set UserList 2>Nul
Pause
Exit/B
:Sub
If Not Defined UserList (Set "UserList="%*"") Else Set "UserList=%UserList%,"%*""
GoTo :EOF
Если вы запрашиваете с локального ПК, возможно:
@Echo Off
Set "UserList="
For /F "Skip=1 Delims=" %%A In ('WMIC Path^
Win32_UserProfile Where "Special='False' And Not LocalPath='%UserProfile:\=\\%' And Not LocalPath Like '%%0'" Get LocalPath 2^>Nul'
) Do For /F "Tokens=*" %%B In ("%%~nxA") Do Call :Sub %%~B
Set UserList 2>Nul
Pause
Exit/B
:Sub
If Not Defined UserList (Set "UserList="%*"") Else Set "UserList=%UserList%,"%*""
GoTo :EOF
Они абсолютно не проверены, так как у меня нет доступа к ПК с Windows, только телефон с Android .Если с ними возникли проблемы, пожалуйста, оставьте комментарий, и я постараюсь изменить его по мере необходимости, когда у меня появится возможность.
Обратите внимание, что существуют более надежные методы, чем при условии, что %UserName%
будет соответствовать названиюкаталог профиля.Если вы измените имя профиля, каталог с его файлами не изменит имя в соответствии с новым именем.