0

Application Engine Program で People コードを使用してバッチ ファイルを実行したいと考えています。しかし、プログラムには Exec コードをゼロ以外の値(Value - 1)として返す問題があります。

以下は、以下のピープルコードスニペットです。

Global File &FileLog; 

Global string &LogFileName, &Servername, &commandline; 
Local string &Footer; 

If &Servername = "PSNT" Then 

    &ScriptName = "D: && D:\psoft\PT854\appserv\prcs\RNBatchFile.bat"; 

End-If; 

&commandline = &ScriptName; 

/* Need to commit work or Exec will fail */ 
CommitWork(); 

&ExitCode = Exec("cmd.exe /c " | &commandline, %Exec_Synchronous + %FilePath_Absolute); 

If &ExitCode <> 0 Then 
MessageBox(0, "", 0, 0, ("Batch File Call Failed! Exit code returned by script was " | &ExitCode)); 
End-If;

この問題を解決する方法を教えてください。

4

2 に答える 2

1

最善の策は、実行のトレースを行うことです。

考え:

  • これを実行しているプロセススケジューラにログオンして、スクリプトを実行できますか?
  • AE は実行時にスケジュールされているか、または呼び出されていますか?
  • スクリプトへの完全修飾パスを使用しているため、ディレクトリを変更する必要はありません。
  • 「cmd /c」を呼び出す必要はありません。これにより、アプリケーションを実行するための追加のシェルが作成され、デバッグが難しくなるなどの理由があります。

トレースを実行し、出力をドロップしてください。:) HTH

于 2017-01-03T02:20:08.960 に答える