1

Applescriptのコーディングは初めてですので、助けていただければ幸いです。

クリップボードからtelnetコマンドの途中にテキストを貼り付けるスクリプトを作成しようとしています。出力は同じウィンドウにあり、次のようになっている必要があります。

I8,A,001
Q102,024
q448
rN
S4
D15
ZT
JF
O
R71,0
f100
N
B264,65,2,UA0,2,4,56,B,"100000000045"
A203,82,2,1,2,2,N,"xxxxx"
P1

13行目に引用されている12桁の数字は、挿入する必要があるものです。

これは私がこれまでにコーディングしたものですが、機能していません。

tell application "Terminal"

    do script "telnet xxx.xxx.xx.xx xxxx"
    delay 1
    do script "I8,A,001" in window 1
    do script "Q102,024" in window 1
    do script "q448" in window 1
    do script "rN" in window 1
    do script "S4" in window 1
    do script "D15" in window 1
    do script "ZT" in window 1
    do script "JF" in window 1
    do script "O" in window 1
    do script "R71,0" in window 1
    do script "f100" in window 1
    do script "N" in window 1
    do script "B264,65,2,UA0,2,4,56,B,\""
    tell application "System Events"
        tell application process "Terminal" in window 1
            keystroke "v" using {command down}
        end tell
        keystroke "\""
        keystroke return
        do script "\"A203,82,2,1,2,2,N,\"xxxxx\""
        do script "P1"
        keystroke return
    end tell
end tell

コマンドVを使用して貼り付けようとすると、ターミナルウィンドウが終了し、代わりにクリップボードの内容がスクリプトに貼り付けられ、ターミナルウィンドウ1に留まるように指示されません。

4

2 に答える 2

0

クリップボードの内容をターミナルウィンドウに取り込むためにcommand-vを使用する必要はありません。Applescriptはクリップボードを取得でき、「doscript」の前にそれを文字列の他の部分に追加するだけです。このようなものは機能します...もちろん、クリップボードにはすでにその値があるはずなので、コードの最初の行は必要ありません。

set the clipboard to "100000000045"

set t1 to "B264,65,2,UA0,2,4,56,B,\""
set t2 to the clipboard
set t to t1 & t2 & "\""
do script t in window 1
于 2012-09-24T00:39:36.850 に答える
0

これは、他の誰かがそれを必要とする場合にそれを機能させるために私が使用することになったものです:

tell application "Terminal"

do script "telnet xxx.xxx.xx.xx xxxx"
delay 1
do script "I8,A,001" in window 1
do script "Q102,024" in window 1
do script "q448" in window 1
do script "rN" in window 1
do script "S4" in window 1
do script "D15" in window 1
do script "ZT" in window 1
do script "JF" in window 1
do script "O" in window 1
do script "R71,0" in window 1
do script "f100" in window 1
do script "N" in window 1
set t1 to "B264,65,2,UA0,2,4,56,B,\""
set t2 to the clipboard
set t to t1 & t2 & "\""
do script t in window 1
do script "A203,82,2,1,2,2,N,\"xxxxx\"" in window 1
do script "P1" in window 1

end tell

ヘルプレギュラスをありがとう!

于 2012-09-25T20:43:23.843 に答える