LocalizedResourceName (desktop.ini) をグローバルに無効にする方法はありますか?

LocalizedResourceName (desktop.ini) をグローバルに無効にする方法はありますか?

私はドイツ語版の Windows 7 を使用していますが、それで問題ありません (そうでなければ英語版をインストールします)。しかし、ローカライズされたフォルダー名は本当に嫌いです。実際のフォルダー名を見たいのです。

もちろん、LocalizedResourceNameすべてを削除するだけで済みますdesktop.iniが、Windows がローカライズされた名前を無視するレジストリ設定があるのではないかと思います。

答え1

  • 回避策として、アドレスバーをクリックすると、翻訳されていない完全なパスが表示されることに注意してください。
  • 自動的に削除するにはLocalizedResourceNamebash(例えばから)をインストールします。ギット)を実行して、
    for desktopini in $(find /c/Users -name desktop.ini); do sed -i "/^LocalizedResourceName/d" $desktopini; done
    後で元に戻すためにエントリをコメントするだけの場合は、
    "s/^\(LocalizedResourceName\)/;\1/"の代わりに を使用します
    "/^LocalizedResourceName/d"
    もちろん、パス/c/Usersを任意のパスに変更できますが、msys/mingw ではドライブ文字の後にコロンではなくスラッシュが使用されることに注意してください。
  • PowerShell を使用する場合も同様の方法があるかもしれませんが、私はとにかく bash を使用しているため、それを学ぶ気にはなりませんでした...このSOの投稿部品のスタートに良い結果をもたらすかもしれませsedん。または、この答え基本的に重複した質問から
  • 最後に、desktop.iniフォルダにシステム属性または読み取り専用属性が設定されていない場合は完全に無視されることに注意してください。

答え2

代替案はこちらパワーシェルコメントアウトするアプローチローカライズされたリソース名声明文デスクトップ.iniファイル:

$LRN = 'LocalizedResourceName'
gci desktop.ini -Hidden -Recurse -ea silent | ForEach{
    $Content = Get-Content $_ -raw
    If ( $Content -match $LRN ) {
        $Content -replace $LRN, ";$LRN" | Set-Content $_ -force
    }
}

元に戻すスクリプトを作成するには、-replaceパラメータを交換するだけです。

$Content -replace ";$LRN", $LRN

答え3

PowerShell の方法を好む人のために、このスクリプトが私の場合はうまくいきました:

$desktopinis = gci -Recurse -Hidden . | where { $_.Name -eq "desktop.ini" }

foreach ($ini in $desktopinis) {

    $content = $ini | get-content
    foreach ($line in $content) {
        if ($line -cmatch "^LocalizedResourceName=") {

            $newname = $line.substring(22) # propertyname plus one for the equals sign

            $before = $ini.Directory.FullName
            $after  = $ini.Directory.Parent.FullName + "\" + $newname

            Write-Host ("Renaming '" + $before + "' to '" + $after + "'.")

            Move-Item -Path $before -Destination $after
            Remove-Item -Path ($after + "\desktop.ini") -Force
        }
    }
}

現在のフォルダー内でデスクトップ ini ファイルを再帰的に検索し、そのファイルを含むディレクトリと LocalizedResourceName を含むディレクトリの名前を表示されている名前に変更してから、デスクトップ ini ファイルを削除します。

何か問題が発生した場合、出力は実行した内容を元に戻すのに十分なものでなければなりません。

保証なし。

関連情報