2012-04-24 95 views
0

我是perl的新手,我遇到了一件事情。Perl:从命令行读取路径

我有代码:从cmd命令行(我使用批处理文件)

$original_file = "y:\\Users\\XXX\\perlScript\\test1.xml"; 
$new_file = "y:\\Users\\XXX\\perlScript\\summary_test1.xml"; 
copy($original_file, $new_file) or die "File cannot be copied"; 

我需要读取路径。 例如:

>summary.bat c>\path\file_name.xml 

副本后,我想创建summary_file_name.xml到同一个文件夹

感谢

+2

你真的键入了'c> \ path \ file_name.xml'吗?或者你的意思是输入一个冒号吗? – TLP 2012-04-24 10:19:49

回答

0

你想用File::Basename。这是Perl中的标准库,至少早在5.14版本,所以你不需要安装任何新东西。

use File::Basename; 
my($filename, $directories, $suffix) = fileparse($original_file); 
my $new_file = $directories . "/summary.xml"; 

欲了解更多信息,请参阅Perl Docs

1

你问的Perl程序如何得到它的命令行参数?您可以在@ARGV阵列中找到它们。