2017-07-31 51 views
0

我已經產生一個.cmd文件,並指示發送通過BLAT電子郵件,然後將其在OpenEdge用作OS-COMMAND VALUE(cCommandFile).OpenEdge OS-COMMAND未能執行

的cCommandFile一個程序具有的內容:

Blat BLATMSG2017073150869.txt -subject "A Test Message" -to <MY-EMAIl-ADDRESS> -server <MY-SMTP-SERVER> -f <SENDER-ADDRESS> -i <FROM-ADDRESS> -log M:\blat.log -timestamp 

命令運行時,將顯示錯誤「'blat'無法識別爲內部或外部命令」。

但是定位.cmd文件,並直接從用戶運行此命令推出作品promp罰款和預期的電子郵件被髮送。

我已經檢查在兩個命令窗口中的路徑(由OpenEdge發起從而未能一個,並且另一個是一個我打開到直接運行.CMD)。兩個PATH變量都是相同的。我也嘗試生成一個.bat文件,沒有改變。

我可以明確地指定其路徑運行blat.exe,但它是正確安裝並使用到CMD當我運行它的提示,這將是更好地得到它來運行,因爲它應該。

+0

你的問題將得到改善。你幾乎肯定會在該代碼中出現錯誤。 –

+0

@TomBascom當通過Windows資源管理器單擊時,blat.cmd文件運行。我已經添加了上面那個文件的內容,但是由於它直接運行,我會假設它的代碼是正確的。 –

+0

我不懷疑CMD/BAT文件本身是否正確,但是我又沒有看到CMD或BAT文件 - 只是一個普通的舊命令。這似乎與你的問題說你在做什麼不一致。現在忽略這一點 - 如果將「Blat」更改爲「C:\ path \ blat」(或其他任何...),會發生什麼情況 - 您肯定* cCommandFile包含您認爲它包含的內容?在Windows上,「\」特別有害。如果你有硬編碼的地方需要逃脫。即cCommandFile =「c:〜\ path」...我認爲通過MESSAGE語句驗證是有幫助的。 –

回答

0

嘗試在您OS-COMMAND語句中使用NO-CONSOLE。 OpenEdge中存在一個錯誤,您的命令中的引號可能會導致問題。下面是關於它的進展知識庫文章:如果你表現出實際的OS-命令代碼

http://knowledgebase.progress.com/articles/Article/000034773

+0

我看過這篇文章,看看是否有幫助。不幸的是,即使只是傳遞'OS-COMMAND「blat」.'也會拋出同樣的錯誤。 –