2016-05-31 28 views
0

私はpowershellを使ってファイルを作成していますが、このファイルをUTF8エンコードにする必要があります。Powershellで作成したファイルをUCS-2ではなくUTF8にエンコードするLE

メモ帳でファイルを検査すると、エンコードとしてUCS-2 LE BOMが表示されます。 PowerShellが代わりにUTF8を使用することは可能ですか?私はこのエラーが発生するなどの問題を引き起こしている

これまでのところ、私はUTF8を-encodingしようとしました。現在、私は(PowerShellのに非常に新しい私を許し、)根本的な問題がある可能性があり[IO.File]::WriteAllLines($filename, $text)

を使用していますコンソールは、しかし、ファイルが作成されている:

Cannot process argument because the value of argument "path" is null. Change the value of argument "path" to a non-null value. 
    + CategoryInfo   : InvalidArgument: (:) [Out-File], PSArgumentNullException 
    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.OutFileCommand 
    + PSComputerName  : 50.19.209.240 

ChangeFileModeByMask error (3): The system cannot find the path specified. 
    + CategoryInfo   : NotSpecified: (ChangeFileModeB...path specified.:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 
    + PSComputerName  : 50.19.209.240 

編集:詳細情報を提供するために、与えられた解答後に編集

を。ファイルから

詳細:

write-host "Creating Application.conf in UTF-8" 
$filename = "c:\application.conf" 
[IO.File]::WriteAllLines($filename, $text, [System.Text.Encoding]::UTF8) 

コンソールの出力は、やはり上記のとおりerroringされます。

答えて

1

あなたはWriteAllLinesの異なるオーバーロードを使用する必要があります。https://msdn.microsoft.com/en-us/library/3det53xh(v=vs.110).aspx

をそれは次のようになります:

[IO.File]::WriteAllLines($filename, $text, [System.Text.Encoding]::UTF8) 

そしてもちろんここを参照してください、 File.WriteAllLinesメソッド(String、String []型、エンコード) PSの方法を使用することができます:

$text | Out-File $filename -encoding Utf8 
+0

こんにちはAndrey、私は両方の提案を試みました。後者は私の最初の試みであり、前者は私が今試みたことです。私はまだコンソールでエラーを受け取り、それはまだ望ましくないエンコーディングでそれを作成します。編集した投稿を見て、明らかな間違いがないか確認してください。 – null

+0

もちろん、セグメント '$ text = "asdaasdad" $ filename = "c:\ GAAAAAH.conf" [IO.File] :: WriteAllLines($ filename、$ text、[System.Text.Encoding]: :UTF8)\t 'それ自体は問題なく動作します。 – null

+0

これは、ファイル内から呼び出される関数の中にあります。 – null

1

何か特別な理由は、なぜネットクラスを使用しますか? set-contentコマンドレットを使用することもできます。

"text" | Set-Content -Encoding UTF8 -Path "c:\path\file.txt" 
+0

他の本当に異なることを知っている以外の理由はありません。 :) – null

+0

そのアプローチはあなたのために働いていますか? – Martin

+0

現在、私はこのスクリプトを選び、いくつかの変更を加えることを任されました。編集した質問をお聞かせください。 – null

関連する問題