webdevqa.jp.net

ファイル名の長さによるファイルの並べ替え

ファイル名の長さに従ってファイルを並べ替えることはできますか?

1
user55450

優先する方法を指定していないので、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
3
John T

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
2
Siim K

ファイル名のリストだけが必要な場合は、Excelを使用して簡単に行うことができます。または、 FileBoss で実行できます。 Windows-Explorerはこれを行うことができません:)

1
Dzung Nguyen

パーティーに少し遅れていることに気づきましたが、少なくともWindowsでは可能です。 FreeCommander( https://freecommander.com/en/summary/ )を参照してください。これは、すべてをリストすることすらできないほど多くの優れた機能を備えたデュアルペインのファイルブラウザー/マネージャーです。 Windows XPファイル検索の明快さとスピードを見逃していませんか?FreeCommanderを使用して任意のディレクトリでCTRL-Fを試してください。ビー玉を失い、過度に複雑なファイル構造に何度もドリルダウンしますか?作成してみてください頻繁に使用するディレクトリ(ローカルおよびネットワーク)へのお気に入りのショートカット。一度に多くのディレクトリを操作しますか?両方のペインが完全にタブ化されているため、すばやく切り替えることができます。クリックするだけでディレクトリの内容を比較できますか?チェック。個人用と商用の両方で無料ですか?チェックしました。ポータブルバージョンもあると言いますか?( https://portableapps.com/apps/utilities/freecommander_portable

ただし、質問の顕著な特徴は、表示された列を変更して「パスの長さ」と呼ばれる列を含める機能です。これにより、ファイル名の長さとファイル名へのパスの長さを表す数値列が提供されます(したがって、これは同じディレクトリ内の定数になります)。この列で並べ替えると、ファイル名の長さで並べ替えられます。

これは、Windows、IMHOにとって不可欠なプログラムであり、私が喜んで寄付してくれるプログラムです。マレクはこのアプリケーションの開発、更新、保守に素晴らしい仕事をしてくれました。私は彼に拍手を送ります。

0
a nonny mouse