2013-05-10 40 views
0

我的本地機器上使用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

回答

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); 
+0

我嘗試了所有4次,沒有運氣。 – vendetta1 2013-05-10 22:53:45

相關問題