|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] запуск скрипта в powershell 7 и вывод информацию в консоли на русском |
|
|
PowerShell - [решено] запуск скрипта в powershell 7 и вывод информацию в консоли на русском
|
Новый участник Сообщения: 22 |
Добрый день, народ!
У меня есть задача: на постоянное основе в файл JSON добавлять изменения. Сделал эту задачу через скрипт на поше через конвертацию. Однако, конвертация обратно из объекта в джейсон не корректно отрабатывает, то есть при преобразовании сдвигает все ключи/значенния вправо. Решил данную задачу можно через Powershell версии 7. Но столкнулся с проблемой, что при запуске скрипта используется дефолтный пош на машине. Подскажите, пожалуйста, как мне добавить в скрипт информацию, чтобы он запускал мой скрипт через pwsh? Весь инет перерыл, нигде нет такой информации(( В скрипт добавил тихую установку поша 7й версии и по разному пробовал добавить запуск pwsh с дальнейшими действиями моего скрипта, но увы... всё без результатно он либо продолжает использовать 5.1 версию, либо просто останавливает скрипт на моменте запуска 7й версии ![]() И ещё, дополнительно, тоже не могу понять: когда я конвертирую ps1 в exe у меня при запуске русские буквы просто не отображаются... Тобишь есть вот обычный вывод в консоль: Но в консоль выводится только ...json... то есть русских букв в принципе нет. Пробовал и через такую команду: Однако, это не помогает, как я понял это работает только перед запуском скрипта в той же консоли, где ты запускаешь и в последующем запуске это снова нужно вводить. Помогите, пожалуйста. Спасибо! |
|
Отправлено: 12:28, 17-10-2022 |
Ветеран Сообщения: 1758
|
Цитата Njem:
|
|
Последний раз редактировалось Foreigner, 17-10-2022 в 14:29. Отправлено: 14:19, 17-10-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 14:35, 17-10-2022 | #3 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
возможно, это вариант, но не думаю что хороший способ просто эти два файла потом перекидывать, если потребуется и так далее, думаю всё запихнуть в один и чтоб один файл запускать уже где угодно и опять же, файлы то будут не на одной машине, а могут перемещаться, тобишь каждый раз новый путь прописывать тоже не камельфо Цитата Foreigner:
я так понял что-то должно быть внутри в коде, чтобы он понимал русский язык.. |
||
Последний раз редактировалось Njem, 17-10-2022 в 15:26. Отправлено: 15:18, 17-10-2022 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
круто! идёт запуск с pwsh, пасибо!) осталось только понять как сделать отображаение русских букв, когда выводит консоль |
||
Отправлено: 15:44, 17-10-2022 | #5 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Цитата Njem:
Можете при установке PS7 указать, чтобы он встраивался в контекстное меню. Можно запускать из ярлыка. Вариантов масса. |
|
------- Отправлено: 15:49, 17-10-2022 | #6 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
я ж имел ввиду что вот в коде: Нужно каждый раз прописывать путь к скрипту, который нужно запустить в pwsh А нет случаем идеи, как бы заграть в скрипт функцию проверки pwsh в системе? Тип если pwsh есть, то юзать...{код} если нет то он устанавливает pwsh и идёт по новой к первому пункту Я установку pwsh сделал через команды: мб ваще есть какой-то проще вариант с тихой установкой Просто проверка через не срабатывает... валится ошибка: No match was found for the specified search criteria and package name 'pwsh'. Try Get-PackageSource to see all available registered package sources. Но вот если руками попробовать тот же код юзануть, то он найдёт спокойно установленный pwsh у меня |
|
Отправлено: 16:19, 17-10-2022 | #7 |
Ветеран Сообщения: 1758
|
Цитата Njem:
|
|
Отправлено: 17:04, 17-10-2022 | #8 |
Ветеран Сообщения: 1758
|
|
Последний раз редактировалось Foreigner, 17-10-2022 в 21:40. Отправлено: 17:20, 17-10-2022 | #9 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
Получается, идёт проверка на наличие pwsh.exe: Если проверка с false, то выполняются команды сделующие: Install-PackageProvider -Name chocolatey -Force Set-PackageSource -Name Chocolatey -Trusted Install-PackageProvider -Name ChocolateyGet Install-Package -Name pwsh -Source Chocolatey -Provider ChocolateyGet -Force -Verbose Тобишь и получается как-то так в самом начале: if (-not (Get-Command pwsh.exe*)) { return } Install-PackageProvider -Name chocolatey -Force Set-PackageSource -Name Chocolatey -Trusted Install-PackageProvider -Name ChocolateyGet Install-Package -Name pwsh -Source Chocolatey -Provider ChocolateyGet -Force -Verbose if ($PSVersionTable.PSEdition -ne 'Core') { pwsh -file $MyInvocation.MyCommand.Source; return } {'мой код'} Просто по факту оно каждый раз запускает инсталятор pwsh, хотя когда он есть, надо скрип... |
|
Отправлено: 12:55, 18-10-2022 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Вывод данных в cmd из PowerShell без запуска консоли | Nolly | Скриптовые языки администрирования Windows | 3 | 03-05-2018 20:24 | |
PowerShell - powershell запуск скрипта на удаленном компьютере с авторизацией на сетевом ресурсе | densan | Скриптовые языки администрирования Windows | 4 | 15-02-2018 14:07 | |
CMD/BAT - [решено] Вывод имен файлов на экран консоли | Strinteijer | Скриптовые языки администрирования Windows | 5 | 04-07-2016 19:45 | |
CMD/BAT - Скрипт сравнения дат. Непонятный вывод на консоли. | FessAectan | Скриптовые языки администрирования Windows | 3 | 11-11-2013 12:47 | |
PowerShell - [решено] Автоматический запуск скрипта PowerShell по времени. | KAB | Скриптовые языки администрирования Windows | 7 | 06-03-2012 10:20 |
|