|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Никак не могу понять где ошибка "отсутствует терминатор: '." |
|
|
PowerShell - [решено] Никак не могу понять где ошибка "отсутствует терминатор: '."
|
Пользователь Сообщения: 51 |
Профиль | Отправить PM | Цитировать
День добрый.
Уже не знаю что делать. Все испробовала и не могу найти ошибку. есть скрипт powershell в кодировке UTF-8 $original_file = 'D:\www\site\img\weather\tmp\weather_original.svg' $destination_file = 'D:\www\site\img\weather\tmp\weather.svg' (Get-Content $original_file) | Foreach-Object { $_ -replace 'Temperature', 'Температура'` -replace 'Jan', 'Янв'` -replace 'Wind', 'Ветер' } | Set-Content $destination_file В чем может быть дело? |
|
Отправлено: 17:10, 26-01-2022 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать foreach тут вообще не нужен.
|
------- Последний раз редактировалось DJ Mogarych, 26-01-2022 в 20:10. Отправлено: 17:50, 26-01-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Svetik2000:
Сохраните в UTF8 with BOM и проверьте. |
|
------- Отправлено: 18:44, 26-01-2022 | #3 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать Можно открыть Powershell ISE, вставить туда текст скрипта и сохранить.
Скрипты PS, по-моему, все в кодировке 1251. |
------- Отправлено: 20:12, 26-01-2022 | #4 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать Утро доброе.
Кодировка изначально UTF-8 При 1251 скрипт отрабатывает без ошибок. Но вот дальше... Приложение inkscape не конвертирует данный текст из svg в png. Просто пробелы показывает вместо текста. В другом скрипте с кодировкой UTF-8, которая без массива для замены, а меняется только одна строчка, все отрабатывает без проблем, и замена, и дальнейшая конвертация в png Вот его код: $FILE = Get-Content -Path 'D:\www\sites\img\weather\tmp\weather.svg' $NEWFILE = $FILE -replace 'Weather forecast for ****', 'Прогноз погоды в ***** на ближайшие 48 часов' $NEWFILE | Set-Content -Path 'D:\www\sites\img\weather\tmp\weather.svg' Скрипт который с массивом, в UTF-8 выпадает с ошибкой. В 1251 отрабатывает без ошибок, но и svg сохраняет в 1251, а нужно получается в UTF-8. Как бы указать кодировку при сохранение? |
|
Последний раз редактировалось Svetik2000, 27-01-2022 в 10:14. Отправлено: 09:47, 27-01-2022 | #5 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать Все получилось!
Указала в конце Set-Content "$destination_file" -encoding utf8 Но вылез другой косяк... добавляет лишние символы в определенные места. даже если там не делать замены :-( Чудеса какие то... То есть в картинке у температуры добавляется буква В |
Отправлено: 10:42, 27-01-2022 | #6 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать
Вот так выглядит выглядит в оригинале и после скрипта.
При том, что даже если убрать из массива замены Temperature - все равно там меняется При этом, если убрать -encoding utf8, то этот лишний символ не появляется, но сплошные пробелы вместо замены. Может есть еще какое то приложение для конвертации svg в png которое через cmd умеет работать??? Смотрю, онлайн конверторы такой же косяк выдают. и именно в тех же местах |
||||||||
Последний раз редактировалось Svetik2000, 27-01-2022 в 11:05. Отправлено: 10:46, 27-01-2022 | #7 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать попробуйте: -Encoding UTF8BOM
|
Отправлено: 00:01, 28-01-2022 | #8 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать
Цитата alpap:
|
|||||
Отправлено: 09:25, 28-01-2022 | #9 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать Цитата Svetik2000:
|
|
------- Отправлено: 09:48, 28-01-2022 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
EventID - [решено] При запуске некоторых программ ошибка "Диск отсутствует" | Winstonnn | Хочу все знать | 1 | 07-12-2011 20:04 | |
Умирает видеокарта ? Никак не могу понять... | Snaider | Видеокарты | 11 | 19-03-2011 23:03 | |
EventID - Ошибка: "Диск отсутствует" при запуске программы | xGIGx | Хочу все знать | 2 | 10-10-2008 11:01 | |
Не могу понять "Nero" :(( | Geo55 | Хочу все знать | 1 | 01-02-2004 15:24 |
|