Вопрос: Удаление китайских символов в имени папки


Я запускаю Windows Server 2003, и мне нужно найти способ массового переименования папок, содержащих китайские символы. В основном я хочу удалить китайские символы, но если я удалю его, имя папки не будет иметь имени, поэтому мне нужно заменить его на случайные 5-значные буквы / цифры.

Любые решения?


0
2017-10-29 06:01


Источник


Возможно, Windows уже сделала это для вас computerhope.com/issues/ch000209.htm - Andrew Lambert
@Amazed: О какой древней версии Windows вы говорите? :) - Karan
@Karan Каждый, поддерживающий NTFS. - Andrew Lambert
@Amazed: Значит, вы говорите о 8,3 коротких именах? Я сомневаюсь, что в этом случае приемлемо сокращение, но, конечно, это зависит от OP. - Karan


Ответы:


Можешь попробовать Кен Переименовать,

Сначала я изменил настройки, чтобы заменить все недопустимые символы символами подчеркивания:

1

Затем я выбрал вариант изменения кодовая страница имен файлов из Unicode в Windows-1252, Это заменило китайских иероглифов вопросительными знаками, которые, будучи подстановочными знаками и, таким образом, незаконными именами файлов в Windows, были заменены на символы подчеркивания:

2

Если этого недостаточно, и вам это действительно нужно, может быть и способ заменить символы случайными цифрами, но я не проверял.


0
2017-10-29 06:36



Я только заметил, что есть несколько папок, которые не переименовываются. Примеры: code[Mokusa] R.Mika お っ ぱ い CG 集 [526015] code[Визуальное печенье] S.D. -_ 魔 の ウ ル ラ さ ん に ひ た ら ら ら 取 ら 系 系 系 系 集 集 集 - [525769] - Ruriko
Не уверен, почему это происходит в TBH. Это все действующие китайские иероглифы? - Karan
это на самом деле японские символы - Ruriko


Вы можете использовать PowerShell:

Get-ChildItem -Recurse |
  ForEach-Object {
    $n = $_.BaseName -replace '[\p{IsCJKUnifiedIdeographs}]'
    while ($n -match '^\s*$' -or (Test-Path (Join-Path (Split-Path -Parent $_.FullName) $n)) {
      $n = -join(0..5|%{[char[]](65..90+97..122+48..57)|Get-Random})
    }
    Rename-Item $_.FullName ($n + $_.Extension)
  }

Это удаляет все ИДЕОГРАФИИ CJK из имени файла (возможно, вам понадобится немного расширить класс символов с другими блоками), и если он будет пуст или столкнется с существующим именем, будет создано случайное буквенно-цифровое имя.


0
2017-10-29 06:53