在我的本地计算机上使用Cygwin,以下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 :(得分:0)
丢失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);