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

标签 windows perl directory path relative-path

我有一个基本目录,称之为 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 未被识别为内部或外部命令......
  • 系统找不到指定的路径。

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

最佳答案

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

代替 system("SCRIPTS/$job_name"...),试试 system("SCRIPTS\\$job_name"...)

关于windows - 如何使用系统 (Windows) 从 Perl 调用子目录中的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23997152/

相关文章:

c - 不同机器和操作系统上的应用程序行为有所不同

Windows BATCH 问号作为脚本参数

c++ - 有没有办法从服务中运行可执行文件?

perl - 在 Runtime.pm.Net::Twitter 模块中找不到 OAuth.pm

php - 如何检查 PHP 是否支持 multi_curl?

perl - 在 Perl 中处理非常大的数字时,如何禁用科学记数法?

perl - 如何在Perl中逐步生成范围

C open() 为路径字符串返回 -1

batch-file - 提示用户在批处理文件中选择目录

python - 如何从一条路径获取上层路径?