我有类似的问题,我试图以
之类的空格访问当前工作目录 "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;
请有人为此提供解决方案。
答案 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?
谢谢!