|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Необходимо из файла считать строку и участи строки присвоить переменным |
|
|
CMD/BAT - Необходимо из файла считать строку и участи строки присвоить переменным
|
Новый участник Сообщения: 9 |
Есть текстовый файл в котором есть строка
remote result (not to be trusted): [ 82074624499369902458868130586453554849 65228258370552867395165752861763116226784530337709001549878075 100000000000 256 ] необходимо для каждое числа, которое заключено в [ ] присвоить значение переменной, числа могут быть разной длины каждое a=82074624499369902458868130586453554849 b=65228258370552867395165752861763116226784530337709001549878075 c=100000000000 d=256 |
|
Отправлено: 22:38, 18-11-2021 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата boomdeamon:
|
|
------- Отправлено: 09:29, 19-11-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6668
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 09:29, 19-11-2021 | #3 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 09:42, 19-11-2021 | #4 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата boomdeamon:
Цитата boomdeamon:
@echo off for /f "tokens=8-11 delims= " %%a in (test.txt) do set "a=%%a"&set "b=%%b"&set "c=%%c"&set "d=%%d" echo [%a%]-[%b%]-[%c%]-[%d%] pause&exit /b Ну и сравните код powershell, лишенный всех подобных недостатков, при этом с числами можно работать именно как с числами, а не как с текстом: |
|||
------- Отправлено: 10:00, 19-11-2021 | #5 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать Еще вариант:
@Echo Off cls Set "FileIn=D:\Мой контент\Загрузки\dirlist.txt" Set "KeyWord=remote result (not to be trusted):" If Not Exist "%FileIn%" (Echo File "%FileIn%" not found &Pause &Exit /B 2) For /F "usebackq tokens=2 delims=[]" %%s In (`2^>nul FINDSTR /I "%KeyWord%" "%FileIn%"`) Do Call :Out "a" "b" "c" "d" %%s Echo a=%a% &Echo b=%b% &Echo c=%c% &Echo d=%d% Pause Exit /B :Out Set "%~1=%5" &Set "%~2=%6" &Set "%~3=%7" &Set "%~4=%8" Exit /B Цитата YuS_2:
|
|
------- Последний раз редактировалось megaloman, 19-11-2021 в 11:00. Отправлено: 10:38, 19-11-2021 | #6 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Например, что количество переменных должно быть не четыре, а неограниченно много, по сумме необходимых строк, в итоге. ![]() В варианте для powershell, об этом задумываться не надо, все числа будут в массиве, по сути - на каждое число по переменной. Цитата megaloman:
|
||
------- Отправлено: 12:12, 19-11-2021 | #7 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Спасибо за помощь, да если интересует вся задача целиком, то могу ее описать, та как дальше столкнулся со следующими проблема так как в CMD не силен от слова совсем.
Есть 10 так называемых гиверов: Set Giver0=kf-kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprBtN Set Giver1=kf8SYc83pm5JkGt0p3TQRkuiM58O9Cr3waUtR9OoFq716lN- Set Giver2=kf-FV4QTxLl-7Ct3E6MqOtMt-RGXMxi27g4I645lw6MTWraV Set Giver3=kf_NSzfDJI1A3rOM0GQm7xsoUXHTgmdhN5-OrGD8uwL2JMvQ Set Giver4=kf8gf1PQy4u2kURl-Gz4LbS29eaN4sVdrVQkPO-JL80VhOe6 Set Giver5=kf8kO6K6Qh6YM4ddjRYYlvVAK7IgyW8Zet-4ZvNrVsmQ4EOF Set Giver6=kf-P_TOdwcCh0AXHhBpICDMxStxHenWdLCDLNH5QcNpwMHJ8 Set Giver7=kf91o4NNTryJ-Cw3sDGt9OTiafmETdVFUMvylQdFPoOxIsLm Set Giver8=kf9iWhwk9GwAXjtwKG-vN7rmXT3hLIT23RBY6KhVaynRrIK7 Set Giver9=kf8JfFUEJhhpRW80_jqD7zzQteH6EBHOzxiOhygRhBdt4z2N Передавая каждому из гиверов через внешнюю программку lite-client.exe(в качестве передаваемого параметра идет сам гивер) она возвращает параметры, которые можно записать в файл, а можно и на лету обработать lite-client.exe -v 0 -C global.config.json -rc "runmethod %Giver0% get_pow_params" >%file% в таком виде выдает параметры using liteserver 24 with addr [54.157.78.74:32000] zerostate set to -1:17A3A92992AABEA785A7A090985A265CD31F323D849DA51239737E321FB05569:5E994FCF4D425C0A6CE6A792594B71732 05F740A39CD56F537DEFD28B48A0F6E latest masterchain block known to server is (-1,8000000000000000,16193696):BC4F543DDD3DD7E91AF970BE1016A43E73405A27538E2F967D4161BFDA3BC3DD:8FAE84 41576BB5AFECFC0D295FE3B234771DDB223800F7CF68493542C8399031 created at 1637308490 (4 seconds ago) BLK#1 = (-1,8000000000000000,16193696):BC4F543DDD3DD7E91AF970BE1016A43E73405A27538E2F967D4161BFDA3BC3DD:8FAE84 41576BB5AFECFC0D295FE3B234771DDB223800F7CF68493542C8399031 BLK#2 = (-1,8000000000000000,0):17A3A92992AABEA785A7A090985A265CD31F323D849DA51239737E321FB05569:5E994FCF4D425 C0A6CE6A792594B7173205F740A39CD56F537DEFD28B48A0F6E arguments: [ 101616 ] result: [ 240981390008640605705570785453111617011 63407965974365185119488504750453864583808513014607073315407340 100000000000 256 ] remote result (not to be trusted): [ 240981390008640605705570785453111617011 63407965974365185119488504750453864583808513014607073315407340 100000000000 256 ] Из всего это участка данных интересуют значения в строке, точнее сейчас именно одно значение, раньше больше значений нужно было, это второе значение в [] remote result (not to be trusted): [ 240981390008640605705570785453111617011 63407965974365185119488504750453864583808513014607073315407340 100000000000 256 ] в нашем случае это значение таково: Complex=63407965974365185119488504750453864583808513014607073315407340 оно может быть переменной длины, каждый гивер дает свое значение Необходимо опросить каждый из десяти гиверов и выбрать тот из гиверов BestGiver у которого искомое значение Complex будет наибольшим и передать эти значения BestGiver в другую программу tonlib-cuda-cli.exe -v 3 -C %CONFIG_FILE% -e "pminer start %BestGiver% %MY_ADDR% %GPU_ID% %BOOST_FACTOR% %GPU_PLATFORM_ID%" Сейчас параметры для запуска программы считываются из ini файла run_config.ini и далее уже запускаются в bat файле run_cuda.bat батники и ini фал прикрепил сейчас Гивер задан жестко, а нужно выбирать наилучшего и запускать работу tonlib-cuda-cli.exe только с лучшим гивером BestGiver не могу подгрузить файлы целиком вроде для архивов 8 мегабайт, но мне дает только 1 мегабайт использовать https://github.com/tontechio/pow-min...tag/20211119-4 |
Отправлено: 13:18, 19-11-2021 | #8 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата boomdeamon:
Цитата boomdeamon:
которое выдаст результат "Yes", хотя 11, явно не больше 102 Так что, выход только один - переходить на powershell и в нем уже организовывать сравнение чисел... Вашу строку: Цитата boomdeamon:
Но чтобы не делать сизифов труд, тут необходимо Ваше желание в использовании powershell, а где-то даже его и изучение ![]() ЗЫ И как, майнинг - доходное дело? Получается что-то намайнить? ![]() |
|||
------- Последний раз редактировалось YuS_2, 19-11-2021 в 14:14. Отправлено: 13:59, 19-11-2021 | #9 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 14:11, 19-11-2021 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - CMD - читаю из файла, если первый символ строки =*, то вывести на экран строку | jester7 | Скриптовые языки администрирования Windows | 16 | 11-04-2022 13:52 | |
PowerShell - Разложить строку по переменным. | garm | Скриптовые языки администрирования Windows | 8 | 14-10-2020 12:18 | |
CMD/BAT - Слова вводимые пользователем разбить на части и присвоить переменным | zerdox@vk | Скриптовые языки администрирования Windows | 20 | 03-08-2019 18:30 | |
CMD/BAT - [решено] Присвоить переменным значения имен файлов в папке | kopbetby | Скриптовые языки администрирования Windows | 5 | 10-10-2016 14:26 | |
VBS/WSH/JS - Считать переменную из файла | Udar_Nick | Скриптовые языки администрирования Windows | 17 | 30-06-2016 12:14 |
|