간단하고 알기 쉬운 6가지 방법

간단하고 알기 쉬운 6가지 방법
훙은 자신의 환경에서 행동하기만 하면 되고 나중에 보면 (평론이 있어도) 무슨 일을 하고 있는지 모를 수도 있다.어떤 처리가 진행되고 있는지 이해하기 쉽게 간단하게 기술해 봅시다.
  • 연결 문자
  • 로그 이름 생성
  • 하위 루틴
  • 로그 위치
  • 상태 상자
  • 상자의 행 분리
  • 1. 텍스트 연결
  • sprintf2
  • 사용
  • strconcet를 극력 사용하지 않음
  • sprintf2의 지정은 직관적이지 않습니다(%Honyara 지정).또한 반드시 의식적으로 모형을 기억해야 한다. (우선%s는 문자이고%d는 숫자이다.)
    TeratermMacro 예
    문자 연결.ttl
    ;01文字の連結
    
    ;-----初期設定-----
    who = '私'
    person = '太郎'
    age = 10
    text1 = ''
    text2 = ''
    
    ;-----メインルーチン-----
    
    sprintf2 text1 '%sの名前は%sです。%d歳です。' who person age
    messagebox text1 'text1の内容'
    
    sprintf2 text2 '%sの名前は%sです。%d歳です。' '父' '和雄' 42
    messagebox text2 'text2の内容'
    
    end
    


    매크로의 목적은'개인 환경에서 활동하는 것'이기 때문에strconcet를 사용하는 것은 문제가 없지만 자주 사용하면 전망이 좋지 않기 때문에sprintf2가 좋다고 생각합니다.
    뱀발이지만 Teraterm Macro의 문법(변수를 먼저 (상부에) 집중하고, for의 i 등을 어떻게 하는지, 평론의 양 등)과 Macro의 질(울음)을 깊이 파고들지 마세요.
    2. 로그 이름 생성
  • "연월일-시분초"또는 "확장명"을 입력하면 "getdate<입력 결과의 변수>"%Y%m%-%H%M%S.log"
  • 를 사용합니다.
  • 위에서 설명한 대로 문자열 연결이 적으면 됩니다("YA-"또는 확장자를 한 번에 지정할 수 있습니다).
  • %Honyara의 태그가 많습니다. 자세한 내용은 매크로의 도움말을 참조하십시오
  • 연월일-시분초의 로그 이름 등을 자주 사용하기 때문에 보정 텍스트 입력에 넣는 것이 좋다
  • TeratermMacro 예
    로그 이름 생성ttl
    ;02ログ名の生成
    
    ;-----目的-----
    ;--
    ;--一意のログ名を作る
    ;--ここでは「host_年月日-時分秒.log」とする
    
    ;-----初期設定-----
    host = ''
    datetime = ''
    logname = ''
    
    ;-----メインルーチン-----
    ;--ログ名 生成
    
    host = 'Apple'
    getdate datetime "_%Y%m%d-%H%M%S.log"
    sprintf2 logname '%s%s' host datetime
    messagebox logname '確認' ;生成したログ名の確認
    
    end
    
    ;--SSH等の接続後でないと、実際にログファイルを作れないので、ここではログ名の確認で終わっています。
    
    3. 서브루틴
  • TeraTermMacro가 길어지면 처리 절차가 이해하기 어려워지기 때문에 하위 루틴(call 명령)을 사용하면 전망이 좋아진다
  • 처리는call을 통해 하위 프로세스로 이동하고, 처리는 되돌아오기를 통해 주 프로세스로 되돌아오기
  • if,elseif의 각 플러그를 서브루틴으로 건너뛰면 처리가 쉽게 이해된다(개인적인 소감).
  • 솔직히 주변에 이 기능을 사용하는 사람이 없기 때문에
  • 무리하게 사용할 필요가 없다TeratermMacro 예
    하위 루틴.ttl
    ;03サブルーチン
    
    datetime = ''
    logname = ''
    
    ;-----メインルーチン-----
    ;--ログ名1 生成
    host = 'Apple'
    call create_logname
    
    ;--ログ名2 生成
    host = 'Banana'
    call create_logname
    
    ;--ログ名3 生成
    host = 'Citrus'
    call create_logname
    
    end
    
    
    ;-----サブルーチン-----
    :create_logname
    getdate datetime "_%Y%m%d-%H%M%S.log"
    sprintf2 logname '%s%s' host datetime
    messagebox logname '確認' ;生成したログ名の確認
    
    return
    ;--SSH等の接続後でないと、実際にログファイルを作れないので、ここではログ名の確認で終わっています。
    
    4. 로그 위치
  • TeratermMacro의 로그 저장 위치는 전체 경로로 지정되어 있기 때문에 실행 환경이 바뀌면 동작하지 않을 수 있음
  • 개인 해결 방법으로 Macro의 어떤 디렉터리("getdir"에서 실행되는 Macro의 전체 경로를 얻을 수 있음)에 로그를 저장하는 방법
  • 맥로를 다른 사람에게 맡길 때 일을 하지 않는 이유가 하나 줄어든다
  • makepath를 사용하여 로그 파일 이름의 전체 경로를 만들면 구분자 ¥가 자동으로 완성되어 매우 편리합니다.
  • TeratermMacro 예
    로그 위치.ttl
    ;04ログの場所
    
    ;-----目的-----
    ;--
    ;--ログ保存場所は、実行するMacroと同じディレクトリとする
    
    ;-----初期設定-----
    host = ''
    datetime = ''
    logname = ''
    getdir logdir ;MACRO の現在のディレクトリを変数logdirに格納
    logfilepath = ''
    
    ;-----メインルーチン-----
    
    messagebox 'ログファイルの保存ディレクトリは、本Macroを実行した位置になります' 'Infomation'
    
    ;--ログファイルパス1 生成
    
    host = 'Apple'
    call create_logname
    call create_logfullpath
    
    ;--ログファイルパス2 生成
    host = 'Banana'
    call create_logname
    call create_logfullpath
    
    ;--ログファイルパス3 生成
    host = 'Citrus'
    call create_logname
    call create_logfullpath
    
    end
    
    
    ;-----サブルーチン-----
    :create_logname
    getdate datetime "_%Y%m%d-%H%M%S.log"
    sprintf2 logname '%s%s' host datetime
    messagebox logname '確認' ;生成したログ名の確認
    
    return
    
    
    
    :create_logfullpath
    makepath logfilepath logdir logname ;<dir> とファイル名 <name> からフルパス名を作成し、文字列変数に格納(\は適宜入る)
    messagebox logfilepath '確認' ;生成したログファイルパスの確認
    
    return
    ;--SSH等の接続後でないと、実際にログファイルを作れないので、ここではファイルパスの確認で終わっています。
    
    기록 보관 장소에 관해서는 약속이 많다고 생각해요.각자의 환경에서 가장 좋은 방법을 찾아보세요.
    5. 상태 상자
  • Macro가 실행 중이거나 시각적으로 안정감을 얻기 위해서는 상태박스
  • 를 사용하는 것이 좋다.
  • 맥로에서 받은 물건에 아무런 반응이 없는 상태박스지만 작동 여부를 확인할 수 있어 안심이 된다
  • TeratermMacro 예
    상태 상자.ttl
    ;05ステータスボックス
    
    ;-----目的-----
    ;--
    ;--Macroが実行中か視覚的に安心感を得るために、ステータスを表示する
    
    ;-----初期設定-----
    max = 10
    msg = ''
    
    ;-----メインルーチン-----
    ;--例では1秒休止を入れて、今ループの何回目か表示を行う。
    for i 1 max
        sprintf2 msg '現在%d/%d回目の処理中' i max
        statusbox msg '実行中' ;ステータスダイアログボックスを表示
        pause 1 ;指定sec秒マクロ休止
    next
    
    end
    

    범례에서 이미 다 세었지만 for의 지정 방법에 따라 남은 ○개도 표시할 수 있다.
    6. 상자의 줄 바꿈
  • 특수 문자\n(Windows에서 "¥"의 반각 문자와 "n"을 포함하는 문자 변수는strspecial 처리를 통해 줄을 바꾸는 문자 변수
  • 를 얻을 수 있습니다.
  • 메시지 박스의 내용이 적당히 줄을 바꾸면 가로틀이 되지 않고 한눈에 이해하기 쉽다
  • TeratermMacro 예
    상태 상자.ttl
    ;06ボックス内の改行
    
    ;-----目的-----
    ;--
    ;--messagebox内など表示boxで文字を改行する
    
    ;-----初期設定-----
    msg = ''
    
    ;-----メインルーチン-----
    ;--改行したい位置に特殊文字「\n」を入れる。で文字変数msgを作成
    msg = '一行目。\n二行目。\n三行目。\n\n五行目。'
    
    ;--\nを改行にする処理
    strspecial msg
    
    ;--確認
    statusbox msg 'ステータスボックス内で改行'
    pause 5
    messagebox msg 'メッセージボックス内で改行'
    
    
    end
    
    


    "\t"을 "태그"로 변환할 수도 있습니다.tsv 형식으로 쓸 때 필요합니다.
    줄 바꿈에 관해서는 외관의 문제이기 때문에 개의치 않는 사람은 개의치 않아도 된다.

    좋은 웹페이지 즐겨찾기