V6 세션을 V5에서 사용하고 싶다(파일 인코딩 변환&묶음 변환).

PROBLEM DESCRIPTION or QUESTION



Xshell 버전 6에서 내보내기한 세션 파일을 버전 5에서 가져오기를 하였습니다.
세션 파일은 가져와지는데, 세션 파일의 내용이 모두 사라졌습니다.


RESOLUTION


Xshell 6부터 세션 파일의 인코딩이 UTF16 형식의 유니코드로 바뀌었습니다.
이 세션 파일들을 버전 5에서 가져오기를 하여도 해당 세션 파일들을 읽지 못해 세션 정보가 사라진 것처럼 보입니다.
V6에서 내보내기한 세션 파일들을 ANSI 인코딩으로 변환하면 버전 5에서도 세션 파일을 읽을 수 있습니다.
※ 참고: 내보내기한 파일을 가져 올 때 같은 PC의 동일한 사용자 환경에서만 세션 파일에 저장된 암호가 제대로 작동합니다. 세션 파일의 암호가 마스터암호로 보호되고 있다면 다른 PC에서도 세션 파일의 암호를 사용할 수 있습니다. 내보내기하기 전에 마스터암호를 먼저 설정해야 합니다.

변환 방법

  1. 내보내기 결과 파일(.xts) 파일은 ZIP 형식의 파일입니다. 해당 파일의 확장자를 .zip로 변경한 후 파일의 압축을 해제합니다.
  2. 압축 해제한 파일을 메모장으로 엽니다.
  3. '파일' 메뉴에서 '다른 이름으로 저장'을 실행한 후 '인코딩'을 'ANSI'로 변경하여 저장합니다.
  4. 필요한 세션 파일을 위 방법으로 모두 변환한 후 세션 파일을 Xshell 5의 세션 폴더로 복사합니다.


PowerShell을 이용한 인코딩 변환 배치 작업

  1. 내보내기 결과 파일(.xts) ZIP 형식의 파일입니다. 해당 파일의 확장자를 .zip로 변경한 후 파일의 압축을 해제합니다.
  2. PowerShell을 실행 후 세션 파일이 있는 폴더로 이동합니다.

  3. 다음 명령을 실행하여 현재 폴더와 하위 폴더의 모든 세션 파일을 ANSI 형태로 변경합니다.

    foreach($file in ls -recurse -filter "*.xsh") {
        $src = type $file.fullname
        Out-File -filepath $file.fullname -inputobject $src -encoding ascii -force
    }