#vba #powershell #encoding #utf-8
Вопрос:
Я использую макрос vba для написания сценария PS1, чтобы :
- сначала конвертируйте мой файл txt в формат UTF8
- Во-вторых, преобразуйте CR LF в LF.
Но когда я это делаю, я теряю формат UTF8.
Вот мой код :
$file = 'C:Usersc92434Downloadsrun_param_21_04_21dg_poc_parameter.txt'
(Get-Content $file) | Out-File -Encoding UTF8 $file
((Get-Content $file) -join "`n") "`n" | Set-Content -NoNewline $file
С уважением,
Джувзер
Комментарии:
1. Рассмотрим
Get-Content -Encoding
иSet-Content -Encoding
2. для какой линии ?
Ответ №1:
Вы можете сделать это за один раз:
$file = 'C:Usersc92434Downloadsrun_param_21_04_21dg_poc_parameter.txt'
(Get-Content -Path $file -Raw) -replace 'r?n', "`n" | Set-Content -Path $file -NoNewline -Encoding UTF8
-Raw
Переключатель на Get-Content считывает файл как одну многострочную строку.
-replace 'r?n', "`n"
Заменяет все CRLF на LF