SAS中文论坛

标题: 让SAS在Windows下用批处理,自动按预定时间Run [打印本页]

作者: shiyiming    时间: 2004-3-25 22:08
标题: 让SAS在Windows下用批处理,自动按预定时间Run
以下是一个BAT文件:sas.exe和Cfg,autoexec根据你的路径而定
@echo on

"D:\Program Files\SAS Institute\SAS\V8\sas.exe" -sysin

C:\test\yourprogram.sas -CONFIG "D:\Program Files\SAS

Institute\SAS\V8\SASV8.CFG" -autoexec "c:\test\autoexec.sas"

@echo off

可以在计划任务添加该BAT任务。
作者: shiyiming    时间: 2004-3-25 22:58
sugi有一片pdf,就是讲这个的.
作者: shiyiming    时间: 2004-3-25 23:01
不过sas9有个schedule server,是专门管理计划任务,这个就不用这么老土地解决问题.
作者: shiyiming    时间: 2004-3-26 12:41
这个问题的解决可以有不同的层次:
1。廉价的快速方法
在windows平台上,使用AT命令,可以进行简单的时间触发任务(任务为可执行的命令行),详细选项可以参阅AT命令手册,这里有个简单例子:
at 12:00:00 "test.bat"
test.bat 就写入你的SAS调用命令 sas.exe -sysin ... ...
当然,如果你有SAS/WA也可利用提供其可视化功能生成AT调用代码。

2.专业的计划调度软件
这个也有不同的层次,低端可以使用微软的Schedule plus,Symantec的Norton计划功能;高端的,有很多专业网管和作业调度大型软件,如Tivoli,unicenter等,功能强大复杂到让你晕倒,价钱让你彻底死过去 <!-- s:wink: --><img src="{SMILIES_PATH}/icon_wink.gif" alt=":wink:" title="Wink" /><!-- s:wink: -->

3.SAS自身的专门计划调度软件
使用上面的软件,只是把SAS看作一个普通程序,并不会管理运行的细节。
SAS目前也宣扬自己的专门计划调度软件,但是是否能达到专业水准,并体现对SAS内部细节的管理有待进一步测试。事实是SAS在计划调度领域开发力量并不像其分析环节那样强,V8的SAS依赖于一个第三方商务伙伴Platform的软件LSF,V9的SAS会作进一步的整合,但是效果如何,需要看测试实例才好下结论。

建议是,先用方法1,对于方法2,3,仔细考察测试,掂量你的腰包
作者: shiyiming    时间: 2004-3-26 22:59
关于这类问题,本人的看法是:用最简单的方法来实现就可以了。事实上,这个问题本身是很简单的。
作者: shiyiming    时间: 2004-4-8 17:47
[quote=&quot;willon&quot;:acd42]sugi有一片pdf,就是讲这个的.[/quote:acd42]


willon,这篇文章是哪一期的,题目是什么还记得么?
作者: shiyiming    时间: 2004-4-8 19:03
我只能找到p276-27,你自己慢慢找找吧
作者: shiyiming    时间: 2004-4-8 20:22
hehe, thanks for willon

I have found the paper :

While You Were Sleeping - Scheduling SAS&amp;reg; Jobs to Run Automatically
[i:cc806]by Faron Kincheloe, Baylor University, Waco, TX[/i:cc806]

from SUGI 27 ,  Paper 276   

[url:cc806]http&#58;//www2&#46;sas&#46;com/proceedings/sugi27/p276-27&#46;pdf[/url:cc806]

<!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
作者: shiyiming    时间: 2005-11-6 13:54
标题: 救命!用Batch时,DDE无法输出!
我用WINDOWS写了个批处理程序,但是程序里面的DDE却无法象交互环境那样正常输出,请高手赐教!

另外,在交互环境使用DDE时,把数据输出到WORD时,英文字母老是自动被转为五笔,如果,当输出为'xxxx',时,实际输出的是'纟',有什么办法可以避免呢?谢谢啦。

Batch文件内容:
@echo on
"D:\Program Files\SAS\SAS 9.1\sas.exe" -sysin d:\dde.sas -CONFIG "d:\Program Files\SAS\SAS 9.1\nls\zh\SASV9.CFG" -autoexec "D:\Program Files\SAS\SAS 9.1\mktopt\sasmisc\autoexec.sas"

@echo off

程序内容:

options noxwait noxsync;
x '"C:\Program Files\Microsoft Office\Office10\Excel.exe"';
/* The DDE link is established using   */
/* Microsoft Excel SHEET1, rows 1      */
/* through 100 and columns 1 through 3 */
filename random dde
   'excel|sheet1!r1c1:r100c3';
data random;
   file random;
   do i=1 to 100;
      x=ranuni(i);
      y=10+x;
      z=x-10;
      put x y z;
   end;
run;

options noxwait noxsync;
x '"C:\Program Files\Microsoft Office\Office10\Winword.exe"';
filename testit dde 'MSWORD|system' ;
/*英文字母会变为中文*/
data _null_;
   file testit;
   put "世界大同xxxx";
run;




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2