⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a.in

📁 MC Linux/Unix 终端下文件管理器
💻 IN
字号:
#! @PERL@ -w## External filesystem for mc, using mtools# Written Ludek Brukner <lubr@barco.cz>, 1997# Much improved by Tom Perkins <968794022@noid.net>, 2000## WARNING - This software is ALPHA - Absolutely NO WARRANTY# # These mtools components must be in PATH for this to work$mmd = "mmd";$mrd = "mrd";$mdel = "mdel";$mdir = "mdir -a";$mcopy = "mcopy -noQ";$0 =~ s|.*/||;$disk = $0;$ENV{MTOOLS_DATE_STRING} = "mm-dd-yyyy";$ENV{MTOOLS_TWENTY_FOUR_HOUR_CLOCK} = "1";SWITCH: for ( $ARGV[0] ) {  /list/ && do {    @dirs = get_dirs("");    while ($dir = shift(@dirs)) {      push @dirs, get_dirs("$dir/");    } exit 0; };  /mkdir/ && do {    shift; shift;    exit 1 if scalar(@ARGV) != 1;    system("$mmd $disk:/$ARGV[0] >/dev/null");    exit 0; };  /rmdir/ && do {    shift; shift;    exit 1 if scalar(@ARGV) != 1;    system("$mrd $disk:/$ARGV[0] >/dev/null");    exit 0; };  /rm/ && do {    shift; shift;    exit 1 if scalar(@ARGV) != 1;    system("$mdel $disk:/$ARGV[0] >/dev/null");    exit 0; };  /copyout/ && do {    shift; shift;    exit 1 if scalar(@ARGV) != 2;    ( $src, $dest ) = @ARGV;    system("$mcopy $disk:/$src $dest >/dev/null");    exit 0; };  /copyin/ && do {    shift; shift;    exit 1 if scalar(@ARGV) != 2;    ( $dest, $src ) = @ARGV;    system("$mcopy $src $disk:/$dest >/dev/null");    exit 0; };  /.*/ && do {                               # an unfamiliar command    exit 1; };}sub get_dirs {  my ($path, $name, $size, $date, $time, $longname, @lst, @rv);  $path = shift(@_);  @rv = ();  open(FILE,"$mdir $disk:/$path |");  while ( <FILE> ) {    chomp();    /^ / && next;                            # ignore `non-file' lines    m{^Directory for $0:/}i && next;         # ignore `non-file' lines    /^$/ && next;                            # ignore empty lines    /^\.\.?/ && next;                        # ignore `.' and `..'    $name = substr($_,0,12);    $name =~ s/^([^ ]*) +([^ ]+)[ \t]*$/$1.$2/;    $name =~ s/[ .]+$//;    $_ = substr($_,12);    s/^[ ]+//;    ($size,$date,$time,$longname) = split(/[ \t]+/, $_, 4);    defined $time || next;    # process "am" and "pm".  Should not be needed if    # MTOOLS_TWENTY_FOUR_HOUR_CLOCK is respected.    @lst = split(/([:ap])/, $time);    $lst[0] += 12 if (defined $lst[3] && $lst[3] eq "p");    $time = sprintf("%02d:%02d", $lst[0], $lst[2]);    @lst = split(/-/, $date);    $lst[2] %= 100 if ($lst[2] > 100);    $date = sprintf ("%02d-%02d-%02d", @lst);    $name = $path . lc(($longname) ? $longname : $name);    if ($size =~ /DIR/) {      printf("drwxr-xr-x   1 %-8d %-8d %8d %s %s %s\n",        0, 0, 0, $date, $time, $name);      push @rv, $name;    } else {      printf("-rw-r--r--   1 %-8d %-8d %8d %s %s %s\n",        0, 0, $size, $date, $time, $name);    }  }  close(FILE);  return @rv;}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -