よくあるネタ。でも、ls.batを作ってどうのって話ではございません。そもそも、コマンドプロンプトのdirって、出力が過保護かつ冗長すぎてむかつくわけですよ。なので、dirの出力結果を受け取って、整形しなおしてプリントするperlスクリプトを書いた。やっつけですが。 #!/usr/bin/perl use strict; use warnings; my $CHARS_PER_LINE = 75; my $options = ""; my $dir = ""; for(@ARGV){ if(/^-/){ $options .= $_; }else{ $dir = " \"".$_."\""; } } $options =~ s/-//g; my $str = `dir$dir`; my @files = split("\n",$str); @files = @files[5..$#file