Я пытаюсь переместить мои файлы из Win 7 в мою коробку FreeNAS. Я продолжаю получать ошибки, потому что мой путь слишком длинный и некоторые файлы не передаются, потому что в нем есть специальные символы, такие как символьные акценты. Некоторые файлы передаются, но имя файла меняется. то есть. "é" -> "_".

Я пытаюсь предотвратить это. Какое программное обеспечение я могу использовать для сканирования заданного каталога на наличие длинных путей и имен файлов, содержащих недопустимые символы?

1 ответ1

2

Этот скрипт powershell отсканирует папку и распечатает все файлы и папки, не содержащие набор символов или превышающий заданную длину:

$path="Q:\Test";
$length=55;
$legalChars="^([a-z0-9\.\-_ ])+$";

Get-ChildItem $path -recurse | %{ 

    if(($_.Name).length -gt $length)
    { 
        write-host $_.FullName
    }
    elseif($_.Name -notmatch $legalChars)
    {
        write-host $_.FullName        
    }
}

Изменить: Теперь он только проверяет длину имени файла, а не длину всего пути, изменить первое условие if с.Имя для.FullName для проверки длины пути.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .