根据文件名长度对文件进行排序

根据文件名长度对文件进行排序

我可以根据文件名的长度对文件进行排序吗?

答案1

由于您没有指定首选方法,以下是 Perl 中的解决方案:

#!C:/Perl/bin/perl.exe
use strict;
use warnings;

my @a;

opendir(my $dir, ".") or die $!;
while(readdir $dir) {
    push @a, $_;
}
closedir $dir;

@a = sort { length($a) <=> length($b) } @a;

foreach(@a)
{
    print "$_\n" if -f;
}

输出:

p.pl
p.php
lwp.pl
test.bat
index.htm
index.php
readnsort.pl
scrape_parse.txt

答案2

使用 PowerShell 输出文件夹的内容,按文件名长度排序:

 gci c:\anyfolder | select-object name, @{Name="Nlength";Expression={$_.Name.Length}} | sort-object Nlength

它会输出类似这样的内容:

Name                     Nlength
----                     -------
DL.mdb                         6
trolol.txt                    10
AAAAA-2011-03-23-111.xls      24

答案3

使用 PowerShell:

# example 1
Get-ChildItem | Sort-Object { $_.Name.Length }
# example 2
ls | sort { $_.Name.Length }

https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/sort-object

答案4

如果你只是想要文件名列表,你可以用 excel 轻松实现。或者你也可以用文件老板。Windows 资源管理器无法执行此操作 :)

相关内容