在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'”;

+0

我怀疑你会得到一个回答这个问题,直到您经常使用Perl脚本,而不是一个.exe文件。我们应该如何知道如何将这个.exe放在一起。有一千件事你可能做错了。 – djangofan 2013-05-10 22:29:37

+0

.exe文件使用perl脚本在本地计算机上运行。我只是想将本地机器上的工作转移到服务器上。 perl脚本调用.exe文件。 – vendetta1 2013-05-10 22:39:59

+0

好的,但即使你这么说,这个问题仍然不是很清楚。例如,这个问题更清晰:http://stackoverflow.com/questions/2907494/running-a-batch-file-from-perl-activestate-perl-in-windows?rq=1 – djangofan 2013-05-12 16:22:11

丢失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