當我在cmd中提交以下行時,它通過生成csv文件來返回預期輸出。X命令不能將輸出重定向到文件
C:\>Tasklist /FO CSV > C:\SomeFolder\Task.csv
但是當我在SAS提交使用X命令同樣的思路,它只是運行併產生日誌沒有輸出文件或錯誤。我能夠運行其他X成功命令
X "Tasklist /FO CSV > C:\SomeFolder\Task.csv";
我嘗試使用SYSTASK
很好,但即使是無法創建csv文件,我失去的東西嗎?
當我在cmd中提交以下行時,它通過生成csv文件來返回預期輸出。X命令不能將輸出重定向到文件
C:\>Tasklist /FO CSV > C:\SomeFolder\Task.csv
但是當我在SAS提交使用X命令同樣的思路,它只是運行併產生日誌沒有輸出文件或錯誤。我能夠運行其他X成功命令
X "Tasklist /FO CSV > C:\SomeFolder\Task.csv";
我嘗試使用SYSTASK
很好,但即使是無法創建csv文件,我失去的東西嗎?
感謝Printscreen的強大功能以及我作爲孩子時玩星際爭霸的反射訓練,我設法抓住了錯誤信息。
ERROR: Invalid argument/option: '>'
問題是X並不是一個真正的命令行;它是一個單一的命令界面。您不能以完全相同的方式重定向輸出。
您有兩種選擇。如果你只是做這行的讀這回SAS目的的人,你應該用一個管道來讀它。
filename tasks pipe "tasklist /FO CSV";
data mytasks;
infile tasks lrecl=1500 dlm=',' truncover dsd firstobs=2;
length image $50;
input
Image $
PID $
Session $
SessionNo $
MemUse $
;
run;
否則,你可以寫一個bat文件並執行經x
。
filename bat "c:\temp\task.bat";
data _null_;
file bat;
put "Tasklist /FO CSV > c:\temp\Task.csv";
run;
x "c:\temp\task.bat";
使用命令/ c選項運行原始命令:X「命令/ c任務列表/ FO CSV> C:\ SomeFolder \ Task.csv」;似乎也工作 - 但實際上它產生了一個空文件。您的解決方案效果很好,謝謝。 – kristof
如果您正在閱讀的 「C:\ somefolder \ task.csv」 文件到SAS之後嘗試的文件名管方法: '文件名X管材 「任務列表/ FO CSV」;' 然後你可以使用infile語句將數據讀入數據集中: 'data tasks;' 'infile x; ...' – mjsqu
我會在下午試試這個,並且讓它知道它是否有效。謝謝 – Tihor
我試過以下,但它似乎並沒有工作,它不斷顯示datatstep正在運行,但似乎不輸出任何東西 FILENAME Tasklist PIPE'TaskList'; DATA Task; INFILE任務列表; RUN; – Tihor