2017-11-15 20 views
0

スケジュールを設定したいSASプログラムがありますので、手動で実行する必要はありません。我々はexcecutable(reg.exe)を呼び出すプログラムで.exeファイルを起動し、自動的に "Enter"を押してSASの "Save"を入力してください

、次のように:

X CALL "K:\reg.exe"; 

実行ファイルは、Windows標準のセーブ・ダイアログを開き、私たちが行う必要があるすべてが保存されますこれは、を押して保存していますxmlファイル。セーブダイアログは既に正しいディレクトリで開きます。

私は何とかコードを使って "保存を押してください"という指示を渡して、プログラムが移動して保存されたXMLファイルで作業できるようにしたいとします。

これはどういうことですか?

ありがとうございました!

+0

reg.exeにコマンドを保存することはできません。プログラムがこのように動作するように構築されている場合にのみ可能です。この例のように:https://stackoverflow.com/questions/16727941/how-do-i-execute-cmd-commands-through-a-batch-file – Thogerar

+0

私はあなたが他のサードパーティのプログラムキーボードマクロを記録します。多くのテストスイートがこの種の動作をサポートしています。あなたがしたいことは可能です。おそらくSASからではないでしょう。 –

答えて

0

トーマス:

対話型プログラムのスクリプト制御のための多数のWindowsユーティリティがあります。たとえば、AutoIt(私のお気に入り)、MouseRobot、AutoHotKeyなどがあります。

声明

options xmin noxwait noxsync; 

は終了するコマンドセッションを待たず、コマンドが完了するのを待たず、外部プログラムを実行します。お使いのSASプログラムの場合

reg.exeのスクリプト使用の副作用が発生し、使用前に発生するのを待つ必要があります。

options xmin noxwait xsync; 

これらの設定は、次のような他のオペレーティングシステムのインターフェース機能に影響を与えます

  • Xコマンド
  • CALLシステムルーチン
  • % SYSEXEC声明

reg.exeを使用すると、ログインに管理者権限が必要になることがあります。

SYSTASKステートメントは、外部コマンドを実行することもできます。

外部コマンドを実行できない場合は、システム設定NOXCMDがアクティブである可能性があります。この設定は、SASサーバー環境ではデフォルトでオンになっています。