|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Создание текстового файла с набором символов |
|
|
CMD/BAT - [решено] Создание текстового файла с набором символов
|
Пользователь Сообщения: 88 |
Уважаемые знатоки!
Помогите создать батник при запуске которого создавался бы текстовый файл с указанным количеством произвольных символов (буквы, цифры, знаки). Варианты - либо я вношу количество символов в батник (допустим 592283), либо вопрос при запуске - "введите количество символов". Спасибо заранее!)) |
|
Отправлено: 23:06, 26-03-2019 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать
не все знаки удастся вывести таким образом
Цитата 4zz:
|
|
Отправлено: 00:16, 27-03-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось megaloman, 27-03-2019 в 00:40. Отправлено: 00:33, 27-03-2019 | #3 |
Ветеран Сообщения: 20133
|
Профиль | Отправить PM | Цитировать megaloman, не силён в написании скриптов, но рандомный вариант может быть использован, отключив неиспользуемые символы.
Только я не представляю зачем это нужно ![]() Очередной BALON? |
------- Отправлено: 02:02, 27-03-2019 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать 4zz,
Вот вариант с клавиатурным набором знаков. Некоторые знаки валили скрипт, я их перечислил и не употребляю.
Не берусь судить, может еще какая-то зюкочка нагадит. @Echo Off cls Set "Out=Z:\Box_Out\полная фигня.txt" Set /A Max=8765 rem не использовать ^%&|<>"()'= Set "Symb=~!#$*_+1234567890-QWERTYUIOP{}qwertyuiop[]ASDFGHJKL:asdfghjkl;\ZXCVBNM?zxcvbnm,./ Ё№ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю" Set /A NS=-1 &FOR /L %%i IN (0,1,255) DO (Call :Substr %%i "S" &&Set /A NS+=1) Set "Str=" Set /A N=0 Set /A M=0 Set /A Quant=4000 2>nul Del "%Out%" :Begin Set /A N+=1 Set /A M+=1 Set /A K=(%NS%+1)*%Random%/32768 Call :Substr %K% "S" Set "Str=%Str%%S%" If %N% EQU %Quant% ( Echo DownLoad %M% <Nul Set /P "S=%Str%">>"%Out%" Set "Str=" Set "S=" Set /A N=0 ) If %M% NEQ %Max% GoTo :Begin If %N% NEQ 0 <Nul (Echo DownLoad %M% &Set /P S=%Str%>>"%Out%") Pause GoTo :Eof :Substr Call Set "@S=%%Symb:~%1,1%%" Set "%~2=%@S%" If "%@S%"=="" Exit /B 1 Exit /B 0 |
|
------- Последний раз редактировалось megaloman, 27-03-2019 в 17:09. Причина: Уточнил набор знаков Отправлено: 16:05, 27-03-2019 | #5 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Минимум изменений, но экономия по времени 20-25%.
Отличие - в способе извлечения символа из набора @Echo Off cls Set "Out=Z:\Box_Out\полная фигня.txt" Set /A Max=8765 rem не использовать ^%&|<>"()'= Set "Symb=~!#$*_+1234567890-QWERTYUIOP{}qwertyuiop[]ASDFGHJKL:asdfghjkl;\ZXCVBNM?zxcvbnm,./ Ё№ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю" Set /A NS=-1 &FOR /L %%i IN (0,1,255) DO (Call :Substr %%i "S" &&(Set /A NS+=1 &Call Set "@@@%%NS%%=%%S%%")) Set "Str=" Set /A N=0 Set /A M=0 Set /A Quant=4000 2>nul Del "%Out%" :Begin Set /A N+=1 Set /A M+=1 Set /A K=(%NS%+1)*%Random%/32768 Call Set "Str=%Str%%%@@@%K%%%" If %N% EQU %Quant% ( Echo DownLoad %M% <Nul Set /P "S=%Str%">>"%Out%" Set "Str=" Set "S=" Set /A N=0 ) If %M% NEQ %Max% GoTo :Begin If %N% NEQ 0 <Nul (Echo DownLoad %M% &Set /P S=%Str%>>"%Out%") Pause GoTo :Eof :Substr Call Set "@S=%%Symb:~%1,1%%" Set "%~2=%@S%" If "%@S%"=="" Exit /B 1 Exit /B 0 |
------- Последний раз редактировалось megaloman, 27-03-2019 в 17:09. Отправлено: 16:47, 27-03-2019 | #6 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать megaloman,
Спасибо! Все работает!)) Это нужно для файла в котором должно быть определенное количество символов, в разное время) ![]() |
Отправлено: 19:14, 27-03-2019 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 22:57, 27-03-2019 | #8 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Работает, но очень долго..(
А может это можно ускорить копированием -вставкой? Или из готового текстового файла посчитать количество символов и оставить необходимое, остальное удалить? ![]() ![]() |
Последний раз редактировалось 4zz, 27-03-2019 в 23:28. Отправлено: 23:21, 27-03-2019 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать 4zz, а может Вы подумаете про переход на WSH/PoSH вместо пакетных файлов?
|
Отправлено: 23:39, 27-03-2019 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Проблема ч набором символов | speed8@vk | Ноутбуки | 3 | 08-09-2014 16:17 | |
CMD/BAT - Сборка текстового файла из содержимого другого текстового файла | icomboy | Скриптовые языки администрирования Windows | 0 | 10-09-2013 15:17 | |
CMD/BAT - [решено] Создание текстового файла с последовательными числами указанного диапазона | 91892823 | Скриптовые языки администрирования Windows | 2 | 03-08-2012 06:43 | |
CMD/BAT - чтение такстового файла и создание текстового с частичным содержанием прочтеного вайл | Anufriev | Скриптовые языки администрирования Windows | 1 | 28-06-2012 11:52 | |
CMD/BAT - [решено] Создание текстового файла при условии его отсутствия в папке | spilberg | Скриптовые языки администрирования Windows | 1 | 12-07-2009 15:58 |
|