我可以根据文件名的长度对文件进行排序吗?
答案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 资源管理器无法执行此操作 :)