如何在Windows中使用Perl获取没有文件名的路径?

时间:2011-12-08 23:15:45

标签: windows perl filenames

我希望通过perl

获取Windows中没有文件名的路径

我有这样的完整路径:

c:\My_Designs\ipcore_script\test\src\IP_CORE\mux\sus.do

我只需要路径,并想要删除文件名,如:

c:\My_Designs\ipcore_script\test\src\IP_CORE\mux

3 个答案:

答案 0 :(得分:7)

使用File::Basename

> perl -MFile::Basename -wE "say dirname(qq(c:/perl/bin/perl.exe));"
c:/perl/bin

答案 1 :(得分:5)

您还可以使用Path::Class

#!/usr/bin/env perl

use strict;
use warnings;

use Path::Class;

my $file = file('c:\My_Designs\ipcore_script\test\src\IP_CORE\mux\sus.do');

print $file->parent, "\n";

输出:

C:\My_Designs\ipcore_script\test\src\IP_CORE\mux

答案 2 :(得分:0)

你也可以尝试这个

$path='c:\My_Designs\ipcore_script\test\src\IP_CORE\mux\sus.do';

my $pathname=substr($path, 0, rindex($path,"\\"));

Result:
c:\My_Designs\ipcore_script\test\src\IP_CORE\mux