2014-01-30 68 views
2

iam尋找一種方法來獲得一個八度聲明的輸出到windows剪貼板。寫八度/ matlab輸出到剪貼板

iam沒有搜索的方式只是從cmd窗口手動複製/粘貼文本(我知道這將如何工作)。我也沒有找到一個完整的八度會話的整個輸出,可以通過啓動八度與腳本執行和管道輸出到一些clip.exe的腳本得到。
我想捕捉一些單個語句的輸出,這些語句會從八度音符或某個函數或腳本中執行。

如果有人有一些建議,會很好。

編輯:
從評論我瞭解了matlab的剪貼板命令,不幸還沒有實現八度。
也許有任何其他想法涉及花式system()電話?

+0

它不會得到更容易比這個:http://www.mathworks.nl/help/matlab/ref/clipboard.html –

+0

剪貼板是不可用八度 – Daniel

+0

謝謝。至少我現在知道如何做到這一點的理論方法。不幸的是丹尼爾是對的。我想知道爲什麼剪貼板命令不提供我的谷歌搜索。 –

回答

3

嗯,顯然這不是難以實現非常相似Matlab的東西 - 擺弄周圍的幾分鐘後,見我的新clipboard.m

function clipboard(data) 
if ~ischar(data) 
    data = mat2str(data); 
end 
data = regexprep(data, '\\','\\\\'); 
data = regexprep(data, '%','%%'); 
f = tempname; 
h = fopen(f, 'w'); 
fprintf(h, data); 
fclose(h); 
system(['clip.exe < ' f]); 
delete(f); 
end 
+0

看起來很好謝謝 –

+0

兩個備註: 1. for linux,安裝xclip並使用這個'system()'call:'system(['cat'f'| xclip -selection ');' 2.您可能想使用'num2str()'而不是'mat2str()'去除周圍的方括號 (堆棧溢出審查人員認爲將代碼分開更合適,我想直接將它們添加爲@Notlikethat上面的代碼片段中的註釋;對於那個小混亂而言,感到抱歉,另外還因爲註釋不允許很好的格式化:/) – kartoffelsalat

1

你總是可以通過system命令調用類似xclip的東西。有關xclip用法的示例,請參閱here

以下Matlab命令適用於將多行內容放入Mac上的剪貼板。想必你會用pbcopyxclip來代替它,它可以在linux上運行。

>> system(['echo "line1' 10 'line2' 10 'line3" | pbcopy']) 
+0

是的,但如何使用它? 'system(「echo 234.4234 | clip.exe」)'當然很好,但是必須是多行字符串。 –

+0

嗯。 (''echo'line1'10'line2'10'line3「| pbcopy'])''只輸出''line1'每個新行被解釋爲自己的命令,所以你的語句分裂成命令'echo 「line」,「line2」和「line3 |」 pbcopy' 編輯:我錯了,似乎只有第一行將被評估。其他行似乎完全被忽略 –