Estou usando um Windows 7 em alemão e, embora esteja bem com isso (caso contrário, instalaria uma versão em inglês), realmente não gosto de nomes de pastas localizados - gostaria de ver o verdadeiro nome da pasta.
É claro que eu poderia simplesmente excluir LocalizedResourceName
todos desktop.ini
, mas me pergunto se há alguma configuração de registro que simplesmente faz com que o Windows ignore os nomes localizados.
Responder1
- Como solução alternativa, observe que se você clicar na barra de endereço, o caminho completo não traduzido será exibido lá
- Para se livrar do
LocalizedResourceName
automaticamente, instale umbash
(por exemplo, deidiota) e execute
for desktopini in $(find /c/Users -name desktop.ini); do sed -i "/^LocalizedResourceName/d" $desktopini; done
Se desejar apenas comentar a entrada para posterior estorno, use
"s/^\(LocalizedResourceName\)/;\1/"
em vez de
"/^LocalizedResourceName/d"
.
É claro que você pode modificar o caminho/c/Users
para qualquer caminho desejado, apenas lembre-se de que msys/mingw usa barras e não dois pontos após a letra da unidade. - Pode ser uma maneira semelhante usando o PowerShell, mas nunca me preocupei em aprender isso, já que uso o bash de qualquer maneira ...esta postagem SOpode render um bom começo para o
sed
papel. Ou você apenas verificaesta respostade uma pergunta basicamente duplicada - finalmente, observe que
desktop.ini
é completamente ignorado se uma pasta não tiver o atributo sistema ou somente leitura definido
Responder2
Aqui está uma alternativaPowerShellabordagem para comentar oLocalizedResourceNamedeclaração emdesktop.iniarquivos:
$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
}
}
Para criar um script de desfazer, basta trocar os -replace
parâmetros:
$Content -replace ";$LRN", $LRN
Responder3
Para quem prefere o modo PowerShell, este script funcionou para mim:
$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
}
}
}
Ele procura arquivos ini da área de trabalho recursivamente na pasta atual e renomeia os diretórios que os contêm e onde eles contêm um LocalizedResourceName para o nome mostrado e, em seguida, exclui o arquivo ini da área de trabalho.
A saída deve ser suficiente para reverter o que foi feito se algo der errado.
Sem garantia.