[Powershell]查找文件系统中的长文件名文件

查找文件系统中的长文件名文件

向OOS等对象存储转移数据的时候,因为文件系统兼容性的问题,最好处理掉那些文件名长度大于255的文件,以免出现转移失败的情况

Windows下可以使用Powershell的Get-ChildItem命令方式

Get-ChildItem -r * # 获取文件夹下所有对象

{$_.GetType().Name -match”File” } #获取文件类型的名称

{$_.fullname.length -ge 256} # 文件名长度大于等于256的文件

%{$_.fullname} #打印文件名

Get-ChildItem -r * |? {$_.GetType().Name -match"File" } |? {$_.fullname.length -ge 256} |%{$_.fullname}

linux直接利用 length属性即可

find. -type f | awk 'length> 255'> longfilename-list.txt

附各文件系统的最大文件名长度

文件系统 最大文件名长度 最大文件大小 最大分区大小
ext2 255 bytes 2 TB 16 TB
ext3 255 bytes 2 TB 16 TB
ext4 255 bytes 16 TB 1 EB
XFS 255 bytes 8 EB 8 EB
Btrfs 255 bytes 16 EB 16 EB

参考

https://stackoverflow.com/q/12697259/614863

https://www.helplib.com/diannao/article_172660

https://blog.csdn.net/baixiaokanglili/article/details/78804991

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章