Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Valek271183,
Не гарантирую для PE, не Choice
Код: Выделить весь код
@Echo Off
cls
	Set "DUsers=C:\Users"
	Set Ext="Public"

	Set /A N=0
	FOR /D %%d IN ("%DUsers%\*.*") DO Call :Names "%%~nd"
	If N==0 Exit /B 1

	:Begin
	2>nul Set /A NUser=%U%
	cls
	Echo ===== Список пользователей
	FOR /L %%i IN (1,1,%N%) DO Call Echo %%i %%N%%i%%
	SET /P i=Выход=Q, Номер пользователя=
	
	If /I "%i%"=="Q" Exit /B
	2>nul Set /A NUser=%i%

	If %NUser% LSS 1 GoTo :Begin
	If %NUser% GTR %N% GoTo :Begin

	Call Set "NUser=%%N%NUser%%%
	Echo %NUser%
pause
GoTo :Eof

:Names
	FOR %%i IN (%Ext%) DO If /I "%%~i"==%1 Exit /B
	Set /A N+=1
	Set "N%N%=%~1"
Exit /B
Не гарантирую для PE, Choice, не более 9 пользователей
Код: Выделить весь код
@Echo Off
cls
	Set "DUsers=C:\Users"
	Set Ext="Public"

	Set /A N=0
	Set "Spisok=Q"
	Set "Element=Q=Выход"
	FOR /D %%d IN ("%DUsers%\*.*") DO Call :Names "%%~nd"
	If N==0 Exit /B 1

	Echo ===== Выберите пользователя
	CHOICE /C %Spisok% /M "%Element%"
	If %ErrorLevel% EQU 1 Exit B 0

	Set /A NUser=%ErrorLevel%-1
	Call Set "NUser=%%N%NUser%%%

	Echo "%NUser%"
pause
GoTo :Eof

:Names
	FOR %%i IN (%Ext%) DO If /I "%%~i"==%1 Exit /B
	If %N% EQU 9 Exit /B 1
	Set /A N+=1
	Set "Spisok=%Spisok%%N%"
	Set "Element=%Element% %N%=%~1"
	Set "N%N%=%~1"
Exit /B
Если кроме папок пользователей имеются другие не скрытые и не системные, они будут рассматриваться как папки пользователей.
Может быть сформирован список нерассматриваемых папок в переменной Ext. Сейчас там одна папка:
Set Ext="Public"
Возможно несколько папок:
Set Ext="Public" "All Users" Default "Default User" "Все пользователи"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-11-2018 в 19:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:15, 27-11-2018 | #4