在Windows服务器上查找Perl文件的正确文件路径?
问题描述:
我的本地机器上使用Cygwin,下面的Perl代码工作:在Windows服务器上查找Perl文件的正确文件路径?
system "cmd /c start 'c:\\cygwin\\home\\fl\\CSmtp_prac.exe'";
,当我尝试移动上的Perl文件到Windows SQL Server 2008中,我不能让它运行。
它说它无法在服务器上找到它,即使它确实存在,我已经更新了路径。 perl文件的图标是perl,所以我知道服务器上有perl文件。我想知道我的语法有什么问题。
下面是我在服务器上的perl文件上的内容:system“cmd/c start'c:\ PDAutomation \ CSmtp_prac.exe'”;
答
丢失system
呼叫中的单引号。它们在Cygwin和bash
shell中都很好,但是在Windows shell中,它将查找文字,其中包含文字'
。
尝试这些中的一个,而不是,它应该在这两个Cygwin和MSWin32工作:
system 'cmd /c start c:\cygwin\home\fl\CSmtp_prac.exe';
system q(cmd /c start c:\cygwin\home\fl\CSmtp_prac.exe);
system "cmd /c start c:\\cygwin\\home\\fl\\CSmtp_prac.exe";
system qq(cmd /c start c:\\cygwin\\home\\fl\\CSmtp_prac.exe);
+0
我尝试了所有4次,没有运气。 – vendetta1 2013-05-10 22:53:45
我怀疑你会得到一个回答这个问题,直到您经常使用Perl脚本,而不是一个.exe文件。我们应该如何知道如何将这个.exe放在一起。有一千件事你可能做错了。 – djangofan 2013-05-10 22:29:37
.exe文件使用perl脚本在本地计算机上运行。我只是想将本地机器上的工作转移到服务器上。 perl脚本调用.exe文件。 – vendetta1 2013-05-10 22:39:59
好的,但即使你这么说,这个问题仍然不是很清楚。例如,这个问题更清晰:http://stackoverflow.com/questions/2907494/running-a-batch-file-from-perl-activestate-perl-in-windows?rq=1 – djangofan 2013-05-12 16:22:11