无法访问perl中包含空格的`File Path`

时间:2016-11-24 09:04:36

标签: perl

我有类似的问题,我试图以

之类的空格访问当前工作目录

"C:/Program Files (x86)/Jenkins/jobs/ISG_Regression_Testing/workspace"

我尝试了上面提供的所有解决方案,但没有奏效。我的代码段如下:

local @ARGV = ( "ISG_Programs.txt" );
 my $cwd = getcwd();
 my $inputPath = "$cwd/Sources/Tools/ISGTool/ISG_REGRESSION_TESTS/$ARGV[0]";
 print $inputPath;
 die "Missing file: $ARGV[0]\n" unless -e $inputPath;

请有人为此提供解决方案。

1 个答案:

答案 0 :(得分:1)

我在我的系统中创建了类似的文件夹-structure和文件(运行Win10)并运行代码:

use Cwd;

local @ARGV = ( "ISG_Programs.txt" );
my $cwd = getcwd();
my $inputPath = "$cwd/Sources/Tools/ISGTool/ISG_REGRESSION_TESTS/$ARGV[0]";
print $inputPath;
die "Missing file: $ARGV[0]\n" unless -e $inputPath;

似乎工作正常,我得到以下输出:

C:/Program Files (x86)/Jenkins/jobs/ISG_Regression_Testing/workspace/Sources/Tools/ISGTool/ISG_REGRESSION_TESTS/ISG_Programs.txt

请问您检查文件的路径是否正常?你得到正确的输出" print $ inputPath;" -PHASE?

Perl应该自动转义空格,因此它们应该不是问题,即你的代码看起来不错。你是从它运行它:C:/ Program Files(x86)/ Jenkins / jobs / ISG_Regression_Testing / workspace?

谢谢!