2014-04-01 119 views
-1

我正在嘗試Proc上傳.xlsx文件到我的服務器,請有人可以告訴我我做錯了什麼?proc上傳本地文件

rsubmit; 
filename locref %unquote(%str(%'("C:\Users\Admin\Desktop\")%')); 

Proc Upload 
    infile=locref('*.xlsx') 
    outfile=%unquote(%str(%'("*.xlsx")%')) BINARY; 
run; 
endrsubmit; 

基本上人們將文件拖放的.xlsx與不同的文件名的位置,我想上傳到所有到服務器上。

使用SAS 9.3 64位與Windows 7 64位和Office 2010 32位。

謝謝

+0

爲什麼你在所有的事情中都有這麼多的引用/不引用? – Joe

+0

此外,這看起來很像你以前的問題。你爲什麼再問一次?你不指定什麼不在這裏工作。 – Joe

+0

注意到@Joe只是試圖改進多年同事離開時創建的代碼。 – user3442162

回答

0

這個例子看看:

filename locref 'c:\'; 
rsubmit; 
filename fref '/local/programs'; 
proc upload infile=locref('*.sas') 
      outfile=fref; 
run; 
endrsubmit; 

通知之outfile=選項是指fileref是輸出目錄,而不是文件。另外,在代碼中,第一個文件名語句需要在rsubmit;之前出現,如示例中所示。

你的最終代碼將是:

filename locref "C:\Users\Admin\Desktop"; 
rsubmit; 
filename outref "<INSERT SERVER-SIDE DIRECTORY HERE>"; 

Proc Upload 
    infile=locref('*.xlsx') 
    outfile=outref BINARY; 
run; 
endrsubmit; 

注:請將第3行的<>位替換爲您要上傳到的遠程服務器上的目錄。你沒有在你的原始代碼中引用它,所以我不確定你想要的文件去。

正如@Joe所說,不需要所有的引用/不引用,它只是使代碼更難閱讀,並沒有在這種情況下增加任何好處。

+0

謝謝你,我知道的代碼是凌亂的...我試圖建立/改進已離開業務的同事的現有代碼[無助於我知道]!是否可以通配符.xls和.xlsx?例如可能('* .xlsx','*。xls')? – user3442162

+0

嘗試''* .xls?'',問號與'xlsx'中的第二個'x'匹配,但也接受空白。如果這不起作用,請嘗試''* .xls *'',那麼首選解決方案就更好了。 – mjsqu

+0

都不工作,我得到以下錯誤「警告:沒有外部文件匹配通配符規範。」 – user3442162