2012-09-23 1 views
1

죄송합니다. AppleScript로 작성하여 죄송합니다. 도움을 주시면 감사하겠습니다.텔넷 스크립트의 따옴표 사이에 텍스트를 삽입하려고 시도했습니다

텔넷 명령의 중간에 클립 보드의 텍스트를 붙여 넣는 스크립트를 만들려고합니다. 라인 (13)에

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 

인용 된 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에 머물러 있다고 말하지 않을 것입니다.

+0

고유 한 11 자리 숫자를 스크립트 한 다음 UPC-A에 대한 체크섬을 작성한 다음 Command V 대신 인용 부호 안에 사용하는 방법이 있습니까? 지금은 Excel을 사용하여 순차 번호와 체크섬을 추가하는 방정식을 만듭니다. – cav719

답변

0

터미널 창에 클립 보드 내용을 가져 오기 위해 command-v를 사용할 필요가 없습니다. Applescript는 클립 보드를 가져올 수 있습니다. 그런 다음 "스크립트 수행"하기 전에 문자열의 다른 부분에 추가하면됩니다. 이런 식으로 작동합니다 ... 물론 클립 보드에 이미 그 값이 있어야하기 때문에 코드의 첫 번째 줄은 필요 없습니다.

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 
+0

감사하지만 클립 보드 부분은 항상 같은 12 자리 숫자가되지 않습니다. 매번 고유 한 12 자리 숫자가됩니다. – cav719

+0

12 자리 숫자는 고유하거나 순차적 인 UPC-A 바코드에 대한 11 자리수 + 체크섬입니다. – cav719

+0

괜찮습니다. 앞서 언급했듯이 첫 번째 코드는 그대로 두십시오. 나는 스크립트를 테스트 할 수 있도록 거기에 넣었습니다. 클립 보드에있는 것은 무엇이든 문자열에 들어가므로 아무런 문제가 없습니다. 마지막 "do script"라인과 코드의 "tell application System Events"부분을 내 코드의 2 - 5 행으로 바꾸면 제대로 작동합니다. – regulus6633

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

감사합니다!