2012-04-17 75 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宏處理器評估,並可能導致其他問題