分页: 1 / 1

Termux脚本工具 批量修改视频文件扩展名

发表于 : 2022年12月16日 15:35
523066680

作用,批量给当前目录下(包括子目录)的视频文件扩展名加下划线,避免相册中出现这些"蜜汁"视频的预览图 :confidence

toggle.pl
调用:
perl toggle.pl

代码: 全选

use utf8;
use Encode;
use Modern::Perl;
use File::Find;
STDOUT->autoflush(1);

my @original;
my @changed;

my $exts = qr/(mp4|avi|ts|rmvb|wmv|mkv)/i;
find( { wanted => closure->( $exts, \@original, \@changed ) },  "./" );

# 只要有一个未处理格式的文件,先做格式伪装处理
if ( $#original >= 0 )
{
    say "Append underline to the file extension";
    for my $f ( @original )
    {
        rename $f, $f."_";
        say $f ."_";
    }
}
else
{
    # 切换回原来的格式
    say "Remove underline for the file extension";
    for my $f ( @changed )
    {
        my $newname = $f;
        $newname =~ s/_$//;
        rename $f, $newname;
        say $newname;
    }
}

sub closure
{
    my ( $filter, $orig, $changed ) = @_;
    return
        sub {
            if ( $File::Find::name =~ /${filter}$/ )
            {
                push @$orig, $File::Find::name;            
} elsif ( $File::Find::name =~ /${filter}_$/ ) { push @$changed, $File::Find::name;
} } } sub gbk { encode('gbk', $_[0]) } sub utf8 { encode('utf8', $_[0]) } sub u2gbk { encode('gbk', decode('utf8', $_[0])) } sub uni { decode('utf8', $_[0]) }

Re: Termux脚本工具 批量修改视频文件扩展名

发表于 : 2023年01月26日 02:49
rubyish

:shy 3Q~