素敵なスウェーデン文字åとöを使用したファイル名を持つファイルがたくさんあります。さまざまな理由から、これらを [a-zA-Z] 範囲に変換する必要があります。この範囲外のものを削除するのはかなり簡単です。問題を引き起こしているのは、 åをaに、öをoなどに置き換えたいということです。
これは最悪の文字セットの問題です。
テストファイルのセットがあります:
files\Copy of New Text Documen åäö t.txt
files\fofo.txt
files\New Text Document.txt
files\worstcase åäöÅÄÖéÉ.txt
この行に基づいてスクリプトを作成し、その結果をさまざまなコマンドにパイプします
for %%X in (files\*.txt) do (echo %%X)
奇妙なことに、この結果 (単純な for ループ) をファイルに出力すると、次の出力が得られます。
files\Copy of New Text Documen †„” t.txt
files\fofo.txt
files\New Text Document.txt
files\worstcase †„”Ž™‚.txt
そのため、他のツールに到達する前にファイル名に何か奇妙なことが起こっています(GnuWin32と呼ばれるものからWindows用のsedポートを使用してこれを実行しようとしましたが、これまでのところ運がありません)、これらの文字を置き換えてもどちらかを助けます。
この問題をどのように解決しますか?コマンドラインなど、あらゆる種類のツールを受け入れます…</p>
編集:これは 1 回限りの問題なので、簡単で見苦しい修正を探しています。