CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Аватара пользователя
Sub-Zero

CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение Sub-Zero »

Приветствую! Есть скрипт который выводит пути всех профилей пользователей компьютера, но выводит их с пропусками строк, поскольку сама команда reg query делает эти пустые строки. Можно ли их как-то убрать. Сам не осилил Изображение

@echo off

for /f "usebackq tokens=2* delims= " %%i in (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /s /v "ProfileImagePath"`) do echo.%%j

pause
Аватара пользователя
alpap

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение alpap »

Код:

Код: Выделить всё

@echo off
for /f "tokens=2*" %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /s /v "ProfileImagePath"^|findstr /rc:"^[ ][ ]*"') do echo.%%j
pause
Аватара пользователя
greg zakharov

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение greg zakharov »

YuS_2, увы нет. Во-первых, такого у wmic не наблюдаю ни в одной из систем, к которым у меня имеется доступ, во-вторых, это не похоже на символ возврата каретки, скорее попытка вернуть буфер целиком (к слову, неплохой вектор для атаки).
Аватара пользователя
alpap

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение alpap »

alpap, то же, но с малым количеством телодвижений:



Код:

Код: Выделить всё

wmic path win32_userprofile get localpath | findstr /vric:"localpath"
Аватара пользователя
Sub-Zero

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение Sub-Zero »

alpap, то же, но с малым количеством телодвижений:



Код:

Код: Выделить всё

wmic path win32_userprofile get localpath | findstr /vric:"localpath"
Аватара пользователя
greg zakharov

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение greg zakharov »

greg zakharov, для чистоты количество телодвижений таки нужно будет увеличить двойным разбором.
Аватара пользователя
Vadikan

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение Vadikan »

Зачем все эти findstr с двойным разбором, если можно просто выводить значения параметров пошиком?



Код:

Код: Выделить всё

dir "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" | %{$_.GetValue('ProfileImagePath')}
Аватара пользователя
greg zakharov

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение greg zakharov »

Iska, не нужно. Понятие профиля включает в себя не только наличие папки пользователя на диске, но и определенные роли и олицетворения. Так, например, AllUsers в реестре наряду с некоторыми другими значениями едва ли можно отнести к пользовательским профилям. Win32_UserProfile об этом знает и потому возвращает именно профили без каких-либо рудиментарных значений. Кстати, в logon session также далеко не все можно отнести к понятию профиля.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Вывод путей профилей пользователей компьютера

Сообщение Iska »

Цитата greg zakharov:



баг Far'а должен сообщить по вашему о чем-то сакральном?
CMD/BAT - [решено] Вывод путей профилей пользователей компьютера




Это не баг Far-а, это таки баг wmic (вернее даже пары wmic|findstr), там лишние символы перевода каретки "\r" (0x0D), да и кучка конечных пробелов тоже не добавляет дополнительного ощущения счастья. Изображение
Ответить

Вернуться в «Скриптовые языки администрирования Windows»