SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1671|回复: 8
打印 上一主题 下一主题

让SAS在Windows下用批处理,自动按预定时间Run

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-3-25 22:08:19 | 只看该作者

让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任务。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-3-25 22:58:32 | 只看该作者
sugi有一片pdf,就是讲这个的.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-3-25 23:01:47 | 只看该作者
不过sas9有个schedule server,是专门管理计划任务,这个就不用这么老土地解决问题.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-3-26 12:41:42 | 只看该作者
这个问题的解决可以有不同的层次:
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,仔细考察测试,掂量你的腰包
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2004-3-26 22:59:53 | 只看该作者
关于这类问题,本人的看法是:用最简单的方法来实现就可以了。事实上,这个问题本身是很简单的。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2004-4-8 17:47:16 | 只看该作者
[quote=&quot;willon&quot;:acd42]sugi有一片pdf,就是讲这个的.[/quote:acd42]


willon,这篇文章是哪一期的,题目是什么还记得么?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2004-4-8 19:03:14 | 只看该作者
我只能找到p276-27,你自己慢慢找找吧
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2004-4-8 20:22:05 | 只看该作者
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: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2005-11-6 13:54:19 | 只看该作者

救命!用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;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 06:22 , Processed in 0.074481 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表