¡¡¡¡»ØÄê¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î¥Õ¥¡¥¤¥ë̾¤Î°ìÄê¤Îʸ»úÎó¤òÊѹ¹¤·¤Þ¤¹¡£windows ¤Î msdos ¥³¥Þ¥ó¥É¤Ë¤Ï¡¢Ê£¼Ì¤äºï½ü¤¹¤ë copy ¥³¥Þ¥ó¥É¡¢del ¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¤³¤ì¤é¤òÍøÍѤ·¤Þ¤¹¡£rename ¤â²Äǽ¤Ç¤¹¤¬¡¢º£²ó¤ÏÍøÍѤ·¤Þ¤»¤ó¡£
| ¥³¡¼¥Ç¥£¥ó¥°¡¡Îã | |
|---|---|
#!/usr/local/bin/perl
######################################################################
# rename.pl : Active Perl
# Copyright(C)2002 Sannomiya , All Rights Reserved.
######################################################################
# »ØÄê£Ä£É£Ò¤ÎÇÛ²¼Á´¤Æ¤Î¥Õ¥¡¥£¥ë̾¤ò°ìÄê¤Î¥ë¡¼¥ë¤ÇÊѹ¹¤¹¤ë¡£
# Î㤨¤Ð¡¢internet temporary ¤«¤é¥³¥Ô¡¼¤¹¤ë¤È[1]¤¬¤Ä¤¯¤Î¤ò¤È¤Ã¤Æ¤·¤Þ¤¦
# dos-command rename ¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¢²èÁü¥Õ¥¡¥¤¥ë¤â£Ï£Ë¤Ç¤¹¡£
# ÍúÎò
# 2002.12.05 ¿·µ¬ºîÀ® Ver 1.00
#
######################################################################
# ÀßÄê
######################################################################
$dir = "c:/mysql/Docs_ja"; # ¤³¤ÎÇÛ²¼¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë
$list = "$dir/temp.out"; # dir/s/b ¤Î·ë²Ì
$str1 = "xxx"; # ¸¡º÷ʸ»úÎó
$str2 = "yyy"; # Êѹ¹Ê¸»úÎó
$updsw = 1; # 0 test 1 rename
######################################################################
# 1.³«»Ï½èÍý #
chdir($dir)|| die "Can't find $dir: $!\n"; # dir CHANGE
open(OUTA,"|dir/s/b > $list"); # file name list
# output Îã
# c:\sgi\public_html\java\mainpage.html
# c:\sgi\public_html\java\faq\index.html
# c:\sgi\public_html\java\faq # dir
close(OUTA);
#####################################################################
open(IN,"< $list")|| die "Can't find $list: $!\n"; # file name list
#####################################################################
# 2.¥á¥¤¥ó¡¡½èÍý #
print "* rename.pl start" . "\n";
while( <IN> ) {
#####################################################################
chop($_);
if (! /$str1/) {next;} # ¸¡º÷ʸ»úÎó°Ê³° skip
$pgm = $_;
$pgm2 = $_;
$pgm2 =~ s/$str1/$str2/; # Êѹ¹
######################################
print "pgm=$pgm" . " ==> \n";
print "pgm2=$pgm2" . "\n";
if ($updsw == 1){
$ret = system("copy $pgm $pgm2"); # pgm2 ¤ËÊѹ¹
$ret = system("del $pgm"); # pgm ¤òºï½ü
}
#####################################################################
} # while end
# 3.½ªÎ»½èÍý #
close(IN);
if ($updsw == 1){
$list =~ s/\//\\/g; # c:/xxx/yyy ¤Ï¥¨¥é¡¼¤Ë¤Ê¤ë
$ret = system("del $list"); # IN ¥Õ¥¡¥¤¥ë(temp.out)¤òºï½ü
}
print "* rename.pl end" . "\n";
##########End_Of_Script
|
|
C:\perl_test>rename.pl
* rename.pl start
pgm=c:\mysql\Docs_ja\errmsg[1].txt ==>
pgm2=c:\mysql\Docs_ja\errmsg.txt
1 ¸Ä¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£
:
* rename.pl end
C:\perl_test>
|