私の現在の Windows 7 は英語です。別のコンピューターから転送したファイルには英語以外の文字が含まれています。下の画像をご覧ください。
今、私はそれらをすべて削除したいのですが、検索ボックスにこの文字を入力しても目的のファイルは見つかりません。
英語以外の文字や単語以外の文字を含むファイルをすべて削除するにはどうすればいいですか?
答え1
Cihad さん、おそらく PowerShell が最善の選択肢でしょう。
以下のコードを使用して、フォルダー内の英語以外の文字をすべて見つける小さなテストを実行しました。
Get-ChildItem c:\TurkishFileNames\ | where-object {$_.name -match "[^\x00-\x80]+"}
これにより、英語以外のファイル名がすべて返されます。次に、それらを remove-item に渡すことができますが、まず正しい名前を取得していることを確認します。ここでの 1 つの問題は、あなたが「フォルダー」名について話していたのに、私はファイル名でこれをテストしたことです。
それでも、同じトリックを使用できると思います。PowerShell 3.0 または 4.0 がインストールされている場合は、Get-ChildItem を使用するときに -directory を使用してフォルダー名のみを表示できます。
Get-ChildItem c:\TurkishFolderNames\ -directory
残りは同様です。PowerShell 3.0または4.0はMicrosoftからダウンロードできます。
http://www.microsoft.com/en-us/download/details.aspx?id=34595(WMF3.0)
http://www.microsoft.com/en-us/download/details.aspx?id=40855(WMF4.0)
Windows 7 には PowerShell 2.0 が付属しています。これを使い続ける場合は、古い構文を使用してディレクトリのみを取得できます。
Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true}
その後、残りの手順に進みます。
Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true} | ? {$_.name -match "[^\x00-\x80]+"}