我正在嘗試將我的檔案從 Win 7 移至我的 FreeNAS 盒子。我不斷收到錯誤,因為我的路徑太長,並且某些文件未傳輸,因為它具有特殊字元(例如字元重音)。有些檔案確實被傳輸,但檔案名稱發生了變化。 IE。 “é”->“_”。
我正在努力阻止這種情況。我可以使用什麼軟體來掃描給定目錄中包含無效字元的長路徑名稱和檔案名稱?
答案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 以測試路徑長度。