YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору smartiom Цитата: Значит у всех разные понятия "шашечек" и "ехать". | Вряд ли. Слишком просто всё в этих понятиях. И Ваш случай тоже не исключение. Говоря иначе: Вам нужен результат или инструмент для получения результата? Т.е. результат - это ехать, а шашечки - поиск инструмента для того, чтобы поехать. Цитата: понимаю что можно "жонглировать" как я писал выше и получить разные ухищрения. | Это не ухищрения и не жонглирование, а всего лишь код, с помощью которого получаем: 19-09-2017 Цитата: надо 16-значное число выровненное нулями слева если меньше 16 цифр и желательно получить это одним вызовом приложения с несколькими параметрами | Цитата: А ещё лучше если можно будет генерировать и символы, и hex | Т.к. подробности в условиях у Вас отсутствуют, то и результат - соответствующий, с некоторыми допусками, взятыми "с потолка". Если требуется вызов с параметрами - реализуется легко... только потребуется описание, какие именно параметры нужны. Поясню немного: Хоть Ваш вопрос про специализированный консольный софт и не оффтопик здесь, но всё же, эта тема больше про батники, сценарии и т.п., в общем про командную строку. И наверное, уже только в случае когда встроенных средств не хватает, по тем или иным причинам, вот тогда уже следует пытаться обращаться ко внешним средствам, в том числе и к приложениям, подобным тому, которое Вы ищете. Если же Вам требовалось только приложение, то надо было сразу так и написать... а лучше (если, конечно, у нас тут такая тема найдется) поискать на форуме более подходящую тему для поиска подобных приложений, имхо. Добавлено: Чтобы не быть голословным, просто запустите run.bat рядом с test.bat: run.bat Код: @echo off call test 8 16 call test 20 10 call test 15 5 pause | test.bat Код: @echo off @rem Псевдорандом - вывод n-разрядного числа в m знаков @rem Нет ограничений рандома cmd в 32768 @rem примеры запуска: @rem test.bat "10" "10" @rem test.bat 10 0xF @rem test.bat @rem Параметр 1 - количество символов в выводе @rem Параметр 2 - разрядность set x= set y= set m= set n= set num= echo.%~1|>nul findstr /rc:"[^0-9]"&&( echo Параметр 1 может быть только десятичным числом либо его не должно быть pause exit /b ) echo.%~2|>nul findstr /rc:"[^0-9A-Fa-fx]"&&( echo Параметр 2 может быть десятичным, либо шестнадцатеричным или ^ восьмеричным числом, либо его не должно быть pause exit /b ) if "%~1" equ "" (set /a x=16) else (set /a x=%~1) if "%~2" equ "" (set /a y=16) else (set /a y=%~2) if %y% gtr 16 echo Параметр 2 ^(разрядность^) не может превышать ^ число символов, записанных в переменной chr&pause&exit /b set "m=%x%" &: количество цифр в выводе set "n=%y%" &: разрядность set chr=0 1 2 3 4 5 6 7 8 9 A B C D E F &: символы используемые в выводе :loop set /a k=1+%n%*%random%/32768 for /f "tokens=%k%" %%i in ("%chr%") do (set num=%%i%num%) set /a m-=1 If %m% gtr 0 goto loop echo %num% | На длинную портянку не обращайте внимание, там были добавлены некоторые проверки на валидность параметров, что, естественно, привело к этому увеличению. | Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 20:25 19-09-2017 | Исправлено: YuS_2, 21:01 19-09-2017 |
|