如何让Perl自动在特定目录中查找脚本?

如何让Perl自动在特定目录中查找脚本?,perl,activestate,Perl,Activestate,我在Windows计算机上安装了ActiveState Perl 现在,假设我在这个目录中有脚本,包括一个名为“SomeScript.pl”: "C:\Example\Foo\Bar\" 如何将Perl配置为在传递脚本路径时自动在该目录中查找脚本 例如,从命令行,我可以运行…: perl C:\Example\Foo\Bar\SomeScript.pl …很好 但是下面的…: perl SomeScript.pl 失败,因为Perl不知道如何查找“C:\Example\Foo\Bar\”目

我在Windows计算机上安装了ActiveState Perl

现在,假设我在这个目录中有脚本,包括一个名为
“SomeScript.pl”

"C:\Example\Foo\Bar\"
如何将Perl配置为在传递脚本路径时自动在该目录中查找脚本

例如,从命令行,我可以运行…:

perl C:\Example\Foo\Bar\SomeScript.pl
…很好

但是下面的…:

perl SomeScript.pl

失败,因为Perl不知道如何查找
“C:\Example\Foo\Bar\”
目录。如何配置Perl,以便在从命令行传递脚本名称时,自动在特定目录中查找脚本?

这不是Perl的问题,而是与
$PATH
变量有关

如果您使用的是最新的windows 10,则可以通过将
导出路径=:$PATH
附加到文件末尾,将目录添加到
.bashrc
文件中

或者,您也可以通过菜单将该目录添加到路径中

然后重新启动命令窗口,您可以这样运行脚本:

SomeScript.pl

这不是perl的问题,而是与
$PATH
变量有关

如果您使用的是最新的windows 10,则可以通过将
导出路径=:$PATH
附加到文件末尾,将目录添加到
.bashrc
文件中

或者,您也可以通过菜单将该目录添加到路径中

然后重新启动命令窗口,您可以这样运行脚本:

SomeScript.pl

这至少在某些Windows Perls中是可能的(我使用的是草莓5.24)

  • 将所需路径添加到Windows路径。 控制面板>系统>高级系统设置>环境变量

  • 使用-S开关运行perl

    perl-S program.plx


  • 管理路径的所有常见问题都适用(例如,使用该名称的第一个文件运行)。

    这至少在某些Windows Perl中是可能的(我使用的是草莓5.24)

  • 将所需路径添加到Windows路径。 控制面板>系统>高级系统设置>环境变量

  • 使用-S开关运行perl

    perl-S program.plx


  • 管理路径的所有常见问题都适用(例如,第一个同名文件运行)。

    我不明白你的意思。没有
    .bashrc
    文件,因为shell是Windows命令提示符,而不是Bash。如果您的意思是将脚本目录添加到Windows
    %PATH%
    环境变量中,那么我已经尝试过了,但它不起作用;在决定在哪里查找脚本时,Perl显然没有检查Windows
    %PATH%
    环境变量。您不能按要求执行操作。在路径中只搜索可执行程序,不搜索参数。您的脚本不是可执行文件。将目录放在%PATH%中不会起任何作用。如果您真的想只设置一个变量
    set MYFILE=c:\foo\bar\script.pl
    ,那么您可以执行
    perl%MYFILE%
    这是可能的,请参阅链接,随时编辑我对您答案的编辑。:)当我听说Windows上有bash时,我很兴奋,但显然我的Windows 10版本都太旧了。该链接是关于修改Windows
    PATH
    变量的,该变量只有在命令直接传递到Windows shell时才有用,而不是在这种情况下,这是一个脚本文件名,作为参数传递给Perl可执行文件。我不明白你的意思。没有
    .bashrc
    文件,因为shell是Windows命令提示符,而不是Bash。如果您的意思是将脚本目录添加到Windows
    %PATH%
    环境变量中,那么我已经尝试过了,但它不起作用;在决定在哪里查找脚本时,Perl显然没有检查Windows
    %PATH%
    环境变量。您不能按要求执行操作。在路径中只搜索可执行程序,不搜索参数。您的脚本不是可执行文件。将目录放在%PATH%中不会起任何作用。如果您真的想只设置一个变量
    set MYFILE=c:\foo\bar\script.pl
    ,那么您可以执行
    perl%MYFILE%
    这是可能的,请参阅链接,随时编辑我对您答案的编辑。:)当我听说Windows上有bash时,我很兴奋,但显然我的Windows 10版本都太旧了。该链接是关于修改Windows
    PATH
    变量的,该变量只有在命令直接传递到Windows shell时才有用,而不是在这种情况下,这是一个脚本文件名,作为参数传递给Perl可执行文件。这可能会有帮助,但该链接没有帮助。设置Windows
    PATH
    环境变量只有在命令直接传递到Windows shell时才有用,而不是在本例中,它是作为Perl可执行文件的参数传递的脚本文件名。这可能会有帮助-该链接没有帮助。设置Windows
    PATH
    环境变量只有在命令直接传递到Windows shell时才有用,而不是在本例中,即脚本文件名作为参数传递到Perl可执行文件。非常感谢!这管用!我试图提高你的投票率,但作为一个新用户,我显然没有足够的声誉来计算提高投票率。我想也许有一个选项可以标记/接受它作为答案。我也是新来的,所以我不确定。非常感谢!这管用!我试图提高你的投票率,但作为一个新用户,我显然没有足够的声誉来计算提高投票率。我想也许有一个选项可以标记/接受它作为答案。我也是新来的,所以我不确定。