Проверка пути и имени файла в Windows 7

Проверка пути и имени файла в Windows 7

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

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

решение1

Этот скрипт 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 с .Name на .FullName, чтобы вместо этого проверять длину пути.

Связанный контент