如何运行另一个目录中的exe!

发布于 2024-10-17 05:27:39 字数 123 浏览 4 评论 0原文

我想从我的 perl 脚本运行一个 exe,该脚本不在我的 perl 脚本所在的同一目录中。并且该目录不在系统路径中。如何在 perl 本身中设置路径并运行该 exe。 我尝试设置 env 但没有成功。

谢谢, 卡斯

I want to run an exe from my perl script which is not in the same directory where my perlscript exist. As well as the directory is not in the system PATH. How to set the path in the perl itself and run that exe.
I tried to set env but it didnt work.

thnx,
kas

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

许久 2024-10-24 05:27:40

如果您知道 exe 文件在哪里,只需使用它的路径,就像从命令行运行它一样。在 Perl 中:

system('c:\full\path\to\exe\program.exe');

或者如果您更喜欢使用正斜杠(它们与 Windows 内核都相同):

system('c:/full/path/to/exe/program.exe');

If you know where the exe file is, just use the path to it the same as if you were running it from the command line. In Perl:

system('c:\full\path\to\exe\program.exe');

or if you prefer to use forward slashes (they're all the same to the Windows kernel):

system('c:/full/path/to/exe/program.exe');
绝影如岚 2024-10-24 05:27:40

您不需要设置任何环境变量来运行 exe。您所需要做的就是使用绝对路径或相对于执行 perl 脚本时所在目录的路径来运行 exe。例如,假设这是 Windows(因为您正在谈论 exe),如果您的目录结构如下:

C:
- dira
| - a.exe
- dirb
  - dirc
    - a.pl

并且在命令提示符下运行:

C:\dirb>perl dirc\a.pl

那么在您的 perl 文件中,您应该使用

`C:\\dira\\a.exe`;

`..\\dira\\a.exe`;

如果您的命令提示符是:

C:\dirb\dirc>perl a.pl

那么您可以使用

`C:\\dira\\a.exe`;

`..\\..\\dira\\a.exe`;

更新

文件test.pl:

$ENV{'PATH'}.= ':some/dir';
system('./testpath.pl');

文件testpath.pl:

open(FILE, '>>output.txt');
print FILE $ENV{'PATH'};
close(FILE);

You shouldn't need to set any environment variables just to run an exe. All you need to do is run the exe using its absolute path or a path relative to the directory you are in when you execute the perl script. For example, assuming this is Windows (since you're talking about an exe) if you have a directory structure like:

C:
- dira
| - a.exe
- dirb
  - dirc
    - a.pl

and at your command prompt you are running:

C:\dirb>perl dirc\a.pl

then in your perl file, you should use either

`C:\\dira\\a.exe`;

or

`..\\dira\\a.exe`;

If your command prompt is:

C:\dirb\dirc>perl a.pl

then you can use

`C:\\dira\\a.exe`;

or

`..\\..\\dira\\a.exe`;

Update

file test.pl:

$ENV{'PATH'}.= ':some/dir';
system('./testpath.pl');

file testpath.pl:

open(FILE, '>>output.txt');
print FILE $ENV{'PATH'};
close(FILE);
初心未许 2024-10-24 05:27:39

尝试使用 exe 的完整路径。例如,

system("/full/path/to/app.exe");

您是否像这样设置路径:

要获取路径:

$path = $ENV{'PATH'};

要设置它:

$ENV{'PATH'} = 'some/dir:another/dir';

Try using the full path to your exe. e.g.

system("/full/path/to/app.exe");

Did you set your path like this:

To get your PATH:

$path = $ENV{'PATH'};

To set it:

$ENV{'PATH'} = 'some/dir:another/dir';
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文