如何使用系统从Perl调用子目录中的脚本(Windows)

时间:2014-06-02 14:39:20

标签: windows perl path directory relative

我有一个基本目录,称之为MAIN和两个子文件夹,SCRIPTS和WORK。 当使用以下代码行时,脚本会调用作业并运行它,只有当job_name在MAIN文件夹中时,才会将输出或错误输出到WORK文件夹中的job_name.out / .err。

system("$job_name > ./WORK/$job_name.out 2> ./WORK/$job_name.err");

如果我将作业移到SCRIPTS中,那么我似乎无法找到一种有效/简单的方法来调用它。我认为类似下面的代码会起作用:

system("SCRIPTS/$job_name > ./WORK/$job_name.out 2> ./WORK/$job_name.err");

但我得到的错误如下:

  • SCRIPTS is not recognized as an internal or external command......
  • The system cannot find the path specified.

如何编写此命令以使其从子目录中运行?

1 个答案:

答案 0 :(得分:3)

在Windows上,使用反斜杠(\)指定文件路径。

而不是system("SCRIPTS/$job_name"...),请尝试system("SCRIPTS\\$job_name"...)