2012-04-17 48 views
0

我之前问过这个问题,但那个时候问题是我的目录中有空白,SAS不知道怎么样。这一次,我的目录中没有任何空白,但是批量运行对我来说不起作用。它要么继续运行(DOS屏幕保持滚动),要么不输出。我在日志中没有出现任何错误,可以在程序中运行,但不能批量运行。 任何人都可以有想法吗?SAS运行批处理模式问题

批号:

data _null_; 
file "C:\Users\ubishky\Documents\PIE.bat"; 
put 'C:'; 
put "CD C:\Users\ubishky\Documents\"; 
put "PIE_wc(v1.1) C:\Users\ubishky\Documents\ABCA05Cv0.txt C:\Users\ubishky\Documents\ABCA05COUTv0.txt"; 
RUN; 

options xmin noxwait; 
x "C:\Users\ubishky\Documents\PIE.bat"; 
+0

我刚刚注意到,PIE程序的exe文件的名称实际上是PIE_wc(v1.1).exe。所以我复制并粘贴,直到exe文件。但仍然没有得到任何结果.... – user634455 2012-04-17 21:07:29

+0

如果从普通DOS提示符下运行生成的PIE.bat,会发生什么情况?从你的帖子中不清楚这是否有效,或者你是否可以手动运行PIE_wc。我不确定您会在SAS日志中预料到任何错误,SAS只会启动一个命令窗口并执行PIE.bat文件。 – 2012-04-18 09:29:37

+0

我可以手动运行PIE。我制作pie.bat的bat文件本身并没有运行。它也不在SAS中运行。 – user634455 2012-04-18 13:20:39

回答

0

我得到了它在批处理模式下工作。我只是将exe文件名改为PIE。而不是将PIE_wc(v1.1)放入批处理代码中,而是使用PIE工作。

+0

顺便说一下,在数据步骤中重命名不起作用。它不喜欢paranethesis PIE程序。 – user634455 2012-04-18 13:48:00

0

试着改变你的BAT文件把周围的参数双引号:

data _null_; 
    file 'C:\Users\ubishky\Documents\PIE.bat'; 
    put 'C:'; 
    put 'CD C:\Users\ubishky\Documents\'; 
    put '"PIE_wc(v1.1).exe" "C:\Users\ubishky\Documents\ABCA05Cv0.txt" "C:\Users\ubishky\Documents\ABCA05COUTv0.txt"'; 
RUN; 

您也可能想给到任何其他程序是完整的路径。另外请注意,我用单引号替换了程序中的所有双引号。定义字符值时,应始终只使用单引号。双引号字符串将由SAS宏处理器评估,并可能导致其他问题