Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Запретить использование символов такие как !~@#$%^&

Ответить
Настройки темы
CMD/BAT - Запретить использование символов такие как !~@#$%^&

Новый участник


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

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


set /p name=

Как запретить испольозвание символов в batch?
Помогите пожалуйста

Отправлено: 08:26, 24-02-2022

 

Ветеран


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

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


Код: Выделить весь код
@echo off
set "ss=* < > \ / | ? :"
set /p name="Введите произвольное имя для файла (папки), [например: <papka>]: "
call :# "%name%"
pause& exit

:#
  for /f "delims=" %%a in ('cmd /v/c echo !ss!') do echo "%~1"|>nul findstr "%%a" && (
      echo:& <nul set /p="Есть запрещенный символ из состава: %ss%"& echo:
    ) || (
      echo Допустим что-то создаем
    )
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:02, 24-02-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
:Begin
	Set "Name="
	Set /P Name=Name=
	Echo "%Name%" | >nul 2>&1 FindStr.exe /R /C:"[!~@#\$%%\^&]" &&(Echo "%Name%" содержит недопустимые символы &GoTo :Begin)
	Echo "Name=%Name%"	
Pause
Exit /B

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

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

Отправлено: 16:15, 24-02-2022 | #3


Пользователь


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

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


Код: Выделить весь код
set /p name=
for /F "tokens=2 delims=!~@#$%%^^&" %%t in ("A%name%A") do if "%%t"=="" echo All characters are good
Или чуть более развёрнуто:
Код: Выделить весь код
set /p name=
for /F "tokens=2 delims=!~@#$%%^^&" %%t in ("A%name%A") do if "%%t"=="" (
  echo Нет плохих символов
) else (
  echo Обнаружены плохие символы
)

Последний раз редактировалось Гуллипут, 26-02-2022 в 09:00.


Отправлено: 08:53, 26-02-2022 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Запретить использование символов такие как !~@#$%^&

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - GPO как запретить использование https? dartne Windows Server 2008/2008 R2 8 17-09-2014 10:43
Как запретить использование USB накопителей на клиентских машинах capture Microsoft Windows NT/2000/2003 4 01-08-2012 20:14
[решено] Как запретить использование USB портов, дисководов CD-ROM и Floppy Danwer Microsoft Windows NT/2000/2003 13 17-11-2008 17:29
Интерфейс - Как запретить использование паролей на русском языке? zhy4ok Microsoft Windows NT/2000/2003 13 03-09-2008 18:47
как запретить использование файла на другом компьютере? ghost99 Microsoft Windows 2000/XP 0 07-04-2006 11:49




 
Переход