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

📄 rename.pl

📁 代码重命名. Usage: rename <oldname> <newname> <dir>
💻 PL
字号:
#!/usr/bin/perl -w
# 

use strict;
use File::Find;
my @args = @ARGV;
print "Visual Studio Project Renamer v0.5 - Use with care!\n";
print "Make backups before you use this program.\n";
print "Do a 'Make Clean' on your original project before use.\n";
print "Do a 'Rebuild All' on your renamed project.\n";
print "By Niek Albers (nieka\@daansystems.com)\n\n";

if ( scalar(@args) != 3 )
{
    print "Usage: vsrename <oldname> <newname> <dir>\n\n";
    exit;
}
my $oldname = $args[0];
my $newname = $args[1];
my $dir     = $args[2];
print "Here we go:\n";

if ( $dir =~ m/$oldname/i )
{
    print "It seems that the main project directory still has the old name,\nlet\'s rename it...\n";
    my $newdirname = $dir;
    $newdirname =~ s/$oldname/$newname/gi;
    print "Renaming directory: $dir -> $newdirname\n";
    rename( $dir, $newdirname ) || die "renaming failed: $!\n";
    $dir = $newdirname;
}
find( { wanted => \&renamer, no_chdir => 1 }, $dir );
print "Finished!\n";

sub renamer
{
    my $filename = $File::Find::name;
    return if ( $filename eq '.' );
    return if ( -d $filename );
    if ( -T $filename )
    {
        replaceinfile($filename);
    }
    else
    {
        print "NOT replacing in binary file: $filename\n";
    }
    renamefile($filename);
}

sub replaceinfile
{
    my $filename = shift;
    print "Replacing in file: $filename\n";
    open( FILE, $filename );
    binmode(FILE);
    my @lines = <FILE>;
    close(FILE);

    foreach my $line (@lines)
    {
        $line =~ s/$oldname/$newname/gi;
    }
    open( FILE, ">$filename" );
    binmode(FILE);

    foreach my $line (@lines)
    {
        print FILE $line;
    }
    close(FILE);
}

sub renamefile
{
    my $filename    = shift;
    my $newfilename = $filename;
    $newfilename =~ s{/(.*?)$oldname}{/$1$newname}gi;
    if ( $filename ne $newfilename )
    {
        print "Renaming file: $filename -> $newfilename\n";
        rename( $filename, $newfilename ) || warn "renaming failed: $!\n";
    }
}

⌨️ 快捷键说明

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