1
4

2 回答 2

4

在 PowerShell 中:

Get-ChildItem | ForEach-Object {
  $filename = Split-Path -Leaf $_
  $new = [Text.Encoding]::Utf8.GetString([Text.Encoding]::Default.GetBytes($filename))
  if ($_.Name -ne $new) {
    Rename-Item $_ $new
  }
}

可能会奏效。整个Rename-Item调用可能会更容易完成,但我通常在不使用完整路径时遇到麻烦,所以我会谨慎行事。

于 2012-08-23T20:38:13.260 回答
0

使用 php:

foreach (glob("*.*") as $filename) {
    rename( $filename, mb_convert_encoding( $filename, "Windows-1252", "UTF-8") );
}
于 2012-08-23T19:03:16.130 回答