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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Генератор номеров телефонов или случайных чисел

Ответить
Настройки темы
CMD/BAT - [решено] Генератор номеров телефонов или случайных чисел

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


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

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


Изменения
Автор: DJIOAN
Дата: 09-06-2016
Описание: В коде где : и out воспринял как смайлик
На работе зашла речь о программе по подбору пароля на wi-fi и сошлись во мнении что многие ставят номера телефонов. Вот я и решил состряпать батник для генерации случайных номеров и записывался в файл.
Скрытый текст
Код: Выделить весь код
@echo off
:loop
setlocal enabledelayedexpansion
set string=0123456789
set col=100000
set /p cod="Введите код типа +7978 и две первые цифры номера 70, 71 ...:"
::^Тут количество букв
for /l %%A IN (1,1,%col%) DO (
 set num=!random! %% 3
 call :out !num!
)
Echo. Успешно! Продолжаем? ....
goto loop
:out
echo.%cod%%1!>>key.txt


Он работает неплохо генерирует 100 000 вариантов но есть несколько недостатков которые я не могу исправит:
  • не всегда полный номер в к примеру +7978 11 11 111, а не хватает в основном одного символа
  • не смог сделать чтоб генерации не повторялись в текстовом документе
  • не смог задать диапазон к примеру код остается +7978 а 7 остальных цифр генерировались от 7000000-9000000

Если есть какие-то предложения то помогите пожалуйста. Я не программист но стараюсь и мне это нравится.

Отправлено: 10:30, 03-06-2016

 

Ветеран


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

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


Чуток шлифанул для красоты:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set/p y="Введите год: "
set min_m=1& set max_m=12
set min_d=1& set max_d=31
for /l %%a in (1,1,10) do (
 set/a "m=!random!%%(max_m-min_m+1)+min"
 set/a "d=!random!%%(max_d-min_d+1)+min"
 if !d! leq 9 set "d=0!d!"
 if !m! leq 9 set "m=0!m!"
 echo !d!-!m!-!y!>>"name.txt"
)
pause>nul

Отправлено: 15:19, 09-06-2016 | #11



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

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


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


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

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


спасибо alpap, за варианты чуть позже протестирую
Я еще чуть доработаю и помещу в меню для выбора варианта день-месяц-год или год-месяц-день

Последний раз редактировалось DJIOAN, 09-06-2016 в 15:44.


Отправлено: 15:31, 09-06-2016 | #12


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


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

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


alpap, я поработал с вашим вариантом генерации дат рождений он отработал отлично, но есть как по мне есть некоторые недоработки
- генерирует приблизительно 6-8 значений (то есть не так как надо чтоб с 01 - 31 число 01 месяца, затем с 01-31 число 02 месяца)
- делает в разброс (но это не так важно, предыдущая причина куда важней)[/list]

Отправлено: 09:51, 21-06-2016 | #13


Ветеран


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

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


DJIOAN, RANDOM в пакетных файлах не совсем псевдослучаен. Точнее, совсем не псевдослучаен. Это не «лечится».

Отправлено: 17:07, 21-06-2016 | #14


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


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

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


доброго времени суток Iska, , мне и не обязательно в разброс мне более важно чтоб он генерировал типа:
Код: Выделить весь код
01011999
02011999
03011999
.....
31011999
01021999
02021999
и так по все месяцам, а вариант alpap, дает всего где-то лишь 8 вариантов в разброс.

Отправлено: 09:46, 23-06-2016 | #15


Аватара для Elven

Ветеран


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

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


вотаквот? правда здесь будут и 30 февраля и 31 апреля и т.д., но на них мне лень писать лишние условия
Код: Выделить весь код
@echo off
for /l %%y in (1980,1,2016) do (
for /l %%m in (1,1,12) do (
for /l %%d in (1,1,31) do (
if %%d leq 9 (if %%m leq 9 (
echo 0%%d-0%%m-%%y>>name.txt
) else (
echo 0%%d-%%m-%%y>>name.txt
)) else (
if %%m leq 9 (
echo %%d-0%%m-%%y>>name.txt
) else (
echo %%d-%%m-%%y>>name.txt
))
)))
годы указаны с 1980 по 2016, думаю, найти их в коде и поменять на нужные не составит труда.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:19, 23-06-2016 | #16


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


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

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


спасибо Elven, не составит точно, я на них первым делом обратил внимание. я подумываю туда если все нормально то переменные задавать от и до

Отправлено: 16:51, 23-06-2016 | #17


Ветеран


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

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


Elven, DJIOAN, и где тут «рандом»?!

Отправлено: 00:29, 24-06-2016 | #18


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


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

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


Iska, для генерирования дат рождений я не просил рандом он там не особо нужен

Отправлено: 08:54, 24-06-2016 | #19


Аватара для Elven

Ветеран


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

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


Iska, суть в том, что нужны значения для перебора(подбора), если я правильно понял. Т.о. рандом или псевдорандом здесь совершенно не в помощь. Конечно есть некоторая отличная от нуля вероятность, что рандомное число из десятка тысяч значений совершенно случайно совпадет с искомым, но точно так есть такая же вероятность, что тот самый рандом попадет только на последнем значении. Опять же задача странная, но если отбросить здравый смысл и следовать более-менее нравящемуся путю из указанных в ТЗ - вполне просто решающаяся.
осторожно, мат.

Отправлено: 14:22, 24-06-2016 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Генератор номеров телефонов или случайных чисел

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Генератор псевдослучайных чисел Bordermax Хочу все знать 1 21-06-2011 09:53
CMD/BAT - [решено] Поиск строки в файле и замена её на набор из случайных чисел и букв Sub-Zero Скриптовые языки администрирования Windows 6 08-02-2011 18:54
C/C++ - Как правильно задать диапазон генерации случайных чисел perfomanse Программирование и базы данных 6 03-07-2010 22:10
Привязка номеров телефонов к CDMA-телефонам ZTE, Huawei, Hisence __sa__nya Мобильные ОС, смартфоны и планшеты 0 22-03-2010 11:19
Генератор случайных чисел Murrey Хочу все знать 3 22-08-2006 13:00




 
Переход