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 に変更します。

関連情報