2017-08-14 114 views
-1

我有一个脚本,我试图修改,以便根据执行的位置,它将检查是否存在名为的文件regression_user.rpt和如果是这样,它将创建一个名为的新文件regression_user1.rpt。我找到了解决方案,但我不知道如何改变它做我想做的。检查文件名是否存在于当前目录

我有如下:

my $filename = 'c:\temp\test.txt'; 
if(-e $filename){ 
    //Create file with new name 
    print("File $filename exists\n"); 
}else{ 
    //Create base file 
    print("File $filename does not exists\n"); 
} 

除此之外,为$filename路径是可变的。有没有办法将执行位置作为变量纳入此检查?

这样做的目的是确保我不覆盖现有文件(已经发生过多次)。

回答

1

如果执行位置,你的意思是当前的工作目录,你需要的是以下几点:

my $filename = 'test.txt'; 

如果执行位置,你的意思是在被发现正在执行的脚本的目录,你可以使用如下:

use FindBin qw($RealBin); 

my $filename = "$RealBin/test.txt"; 
+0

嗯,好的。我不知道我是否需要放置路径,因为文件和脚本位于不同的目录中,但是通过一些模块加载。 – Javia1492

+0

'test.txt' *是一个路径。它引用当前目录中的'text.txt'。 Path不需要有一个目录组件。 – ikegami

相关问题