메인 항목으로

파일 관련 서비스

 로컬 파일을 Create, Read, Write, Copy, Delete 등 로컬 파일을 제어하는 기능들을 제공합니다.

서비스 리스트

No. 서비스명 API명 비고
1 파일 open WinInfo.OpenFile  
2 파일 read WinInfo.ReadFile  
3 파일 write WinInfo.WriteFile  
4 파일 delete WinInfo.DeleteFile
5 파일 copy WinInfo.CopyFile
6 파일 실행 WinInfo.RunFile 시스템 환경변수 호환되는 API
7 디렉토리 open WinInfo.OpenDirectory
8 파일 open dialog WinInfo.FileOpenDialog
9 파일 read dialog WinInfo.FileReadDialog
10 파일 write dialog WinInfo.FileWriteDialog
11 파일 리스트 획득 WinInfo.GetFileList
12 바로가기 생성 WinInfo.CreateShortcut

서비스 상태 코드 리스트

본 서비스에서 공통으로 사용되는 서비스 상태코드 리스트에 대해 정의합니다.

 이 상태 코드는 응답 JSON 메시지 중 return 또는 returnValue의 값에 해당합니다.

리턴코드 리턴 코드 내용 대상 서비스 비고
-1 정의되지 않은 예외 공통 Log 파일에서 내용 확인 필요
0 정상 공통 -
9 해당 경로에 파일/디렉토리가 존재하지 않음 OpenFile, ReadFile, DeleteFile, CopyFile, OpenDirectory, GetFileList -
14 해당 경로에 동일한 파일이 존재 WriteFile, CopyFile, WinInfo.CreateShortcut fileWriteMode가 0인 경우
15 사용자에 의한 취소

FileOpenDialog, FileReadDialog,

FileWriteDialog

dialog 닫기/취소 클릭한 경우
98 유효하지 않은 파라미터

공통

-

1. 파일 open

API명

  • WinInfo.OpenFile

정의

  • 특정 로컬 경로의 파일을 open합니다.

본 API는 "Calc.exe", "msedge.exe"와 같은 환경변수는 호환되지 않으며, 오로지 절대 경로의 파일을 오픈할 때 사용합니다. 환경변수로 파일을 오픈하려면 "11. 파일 open(환경변수 호환)"을 확인해주세요.

호출예시

{
  "service": "WinInfo.OpenFile",
  "requestKey": "Random Request Key",
  "param": { 
    "filePath": "D:\\test.exe",
    "args": "-q"
  }
}
  • filePath
    • open할 로컬 파일 경로.
  • args
    • 파일 open시 전달할 arguments.

응답예시

{
  "service":"WinInfo.OpenFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

2. 파일 read

API명

  • WinInfo.ReadFile

정의

  • 로컬 경로의 파일을 read하고, 지정한 파일 포맷으로 파일의 데이터를 획득합니다.
  • 이때, 파일 read 시작 시간 및 종료 시간을 획득할 수 있습니다.

호출예시

{
  "service":"WinInfo.ReadFile",
  "requestKey":"Random Request Key",
  "param": { 
    "filePath": "D:\\test.txt",
    "fileEncodingType":"UTF-8",
    "timeFormat": 0
  }
}
  • filePath
    • read할 파일 경로.
  • fileEncodingType: 파일 인코딩 타입.
    • 미 지정: UTF-8
    • 지원 타입: UTF-8, UTF-8 Byte Order Mark, UTF-16, UTF-16 Big Endian, UTF-32, ANSI, ASCII, BASE64
  • timeFormat: 파일 read시 걸린 시간을 측정하기 위한 시간 포맷.
    • 0: Unix Epoch (UTC 기준 ms 단위 숫자)
    • 1: ISO 8601 (UTC 표준: 2025-08-19T08:22:34.123Z)

응답예시

{
  "service":"WinInfo.ReadFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "data":"읽어들인 파일 내용",
    "startTime":"1765346851091",
    "endTime":"1765346851091"
  }
}
  • returnValue
    • 서비스 상태 코드.
  • data
    • 읽어들인 파일 내용.
  • startTime
    • 파일 read 시작 시간.
  • endTime
    • 파일 read 종료 시간.

3. 파일 write

API명

  • WinInfo.WriteFile

정의

  • 로컬 경로에 특정 파일을 생성하고, 파일의 내용을 지정한 문자열로 작성합니다.

호출예시

{
  "service":"WinInfo.WriteFile",
  "requestKey":"Random Request Key",
  "param":{
    "filePath": "D:\\test.csv",
    "fileWriteMode": 0
    "data": "사번,이름,부서,직책,이메일,입사일,재직상태...",
    "timeFormat": 0
  }
}
  • filePath
    • 파일 write할 로컬 경로.
  • fileWriteMode: 파일 write 모드.
    • 0: 파일이 존재하지 않을 경우 파일 생성.
    • 1: 파일이 존재하는 경우 덮어 쓰기. (기존 내용 삭제됨)
    • 2: 파일이 존재하는 경우 이어쓰기
  • data
    • 파일에 write할 데이터.
  • timeFormat: 파일 write시 걸린 시간을 측정하기 위한 시간 포맷.
    • 0: Unix Epoch (UTC 기준 ms 단위 숫자)
    • 1: ISO 8601 (UTC 표준: 2025-08-19T08:22:34.123Z)

응답예시

{
  "service":"WinInfo.WriteFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "startTime":"1765350096544",
    "endTime":"1765350096547"
  }
}
  • returnValue
    • 서비스 상태 코드.
  • startTime
    • 파일 write 시작 시간.
  • endTime
    • 파일 write 종료 시간.

4. 파일 delete

API명

  • WinInfo.DeleteFile

정의

  • 로컬 경로의 파일을 삭제합니다.

호출예시

{
  "service": "WinInfo.DeleteFIle",
  "requestKey": "Random Request Key",
  "param": { 
    "filePath":"D:\\test.csv"
  }
}
  • filePath
    • 삭제할 파일 경로.

응답예시

{
  "service":"WinInfo.DeleteFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

5. 파일 copy

API명

  • WinInfo.CopyFile

정의

  • 로컬 파일을 특정 경로에 복사합니다.

호출예시

{
  "service": "WinInfo.CopyFile",
  "requestKey": "Random Request Key...",
  "param": { 
    "srcFilePath": "D:\\test.txt",
    "destFilePath": "D:\\test-copy.txt",
    "fileCopyMode": 0
  }
}
  • srcFilePath
    • 원본 파일 경로.
  • destFilePath
    • 사본 파일 경로.
  • fileCopyMode: 파일 복사 옵션.
    • 0: 사본 경로에 파일이 존재하지 않는 경우에만 파일 생성
    • 1: 사본 경로에 파일이 존재하는 경우 덮어쓰기. (기존 내용 삭제됨)

응답예시

{
  "service":"WinInfo.CopyFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

6. 파일 실행

API명

  • WinInfo.runFile

정의

  • 특정 로컬 경로의 파일을 open합니다. (예: C:\Windows\system32\Calc.exe)
  • 환경변수로 등록된 파일을 open합니다. (예: Calc.exe)

본 API 호출시 디렉토리 경로를 입력하게 되면, Windows 특성상 파일탐색기로 해당 경로를 오픈하게 되나, 안정성의 이유로 디렉토리 오픈시 "7. 디렉토리 open"을 사용하길 권장합니다.

호출예시

{
  "service":"WinInfo.GetFileList",
  "requestKey":"Random Request Key",
  "param":{
    "filePath":"msedge.exe",
    "args": "--app=https://www.tomatosystem.co.kr"
  }
}
  • filePath
    • 파일 절대 경로.
    • 환경변수로 설정된 파일 경로.
    • 디렉토리 경로.
  • args
    • 파일 오픈 시 전달할 argument.

응답예시

{
  "service":"WinInfo.RunFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • returnValue
    • 서비스 상태 코드

7. 디렉토리 open

API명

  • WinInfo.OpenDirectory

정의

  • 로컬 디렉토리를 파일 탐색기(File explorer)를 사용해 open합니다.

호출예시

{
  "service":"WinInfo.OpenDirectory",
  "requestKey":"Random Request Key",
  "param":{
    "dirPath":"D:\\test\\target"
  }
}
  • dirPath
    • 오픈 할 디렉토리 경로.

응답예시

{
  "service":"WinInfo.OpenDirectory",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

8. 파일 open dialog

API명

  • WinInfo.FileOpenDialog

정의

  • 로컬 파일을 실행하기 위해 File open dialog를 띄웁니다.

호출예시

{
  "service":"WinInfo.FileOpenDialog",
  "requestKey":"Random Request Key",
  "param":{
    "initDirPath":"D:\\",
    "dialogTitle":"오픈할 파일을 선택하세요",
    "filter":"텍스트|*.txt|JSON|*.json|CSV|*.csv|모든파일|*.*",
    "initFileName":"test.csv",
    "args":""
  }
}
  • initDirPath
    • File open dialog가 open 될 때 표시할 디렉토리 경로.
  • dialogTitle
    • File open dialog의 타이틀에 표시할 내용.
  • filter 
    • File open dialog에서 사용자가 선택할 수 있는 파일 확장자 필터.
    • "표시할 텍스트|필터링 할 확장자"가 반복되는 형태.
  • initFileName
    • File open dialog가 open 될 때 표시할 파일명.
  • args
    • File open dialog에서 "파일 이름(N)" 텍스트 박스에 표시 될 초기 이름.

응답예시

{
  "service":"WinInfo.FileOpenDialog",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "selectedFilePath":"D:\\test.csv"
  }
}
  • returnValue
    • 서비스 상태 코드.
  • selectedFilePath
    • 사용자가 선택한 파일 경로.

9. 파일 read dialog

API명

  • WinInfo.FileReadDialog

정의

  • 로컬 파일의 내용을 읽기 위해 File open dialog를 띄웁니다.

호출예시

{
  "service":"WinInfo.FileReadDialog",
  "requestKey":"Random Request Key",
  "param":{
    "initDirPath": "C:\\",
    "dialogTitle": "Read할 파일 선택",
    "filter": "텍스트|*.txt|JSON|*.json|CSV|*.csv|모든파일|*.*",
    "timeFormat": 0
  }
}
  • initDirPath
    • File open dialog가 open될 때 표시할 디렉토리 경로.
  • dialogTitle
    • File open dialog의 타이틀에 표시할 내용.
  • filter
    • File open dialog에서 사용자가 선택할 수 있는 파일 확장자 필터.
    • "표시할 텍스트|필터링 할 확장자"가 반복되는 형태.
  • fileEncodingType: 파일 인코딩 타입.
    • 미 지정: UTF-8
    • 지원 타입: UTF-8, UTF-8 Byte Order Mark, UTF-16, UTF-16 Big Endian, UTF-32, ANSI, ASCII, BASE64
  • timeFormat
    • 0: Unix Epoch (UTC 기준 ms 단위 숫자)
    • 1: ISO 8601 (UTC 표준: 2025-08-19T08:22:34.123Z)

응답예시

{
  "service":"WinInfo.FileReadDialog",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "selectedFilePath":"D:\\write-test.csv",
    "data":"읽어 들인 파일 내용",
    "startTime":"1765523201801",
    "endTime":"1765523201801"
  }
}
  • returnValue
    • 서비스 상태 코드.
  • selectedFilePath
    • 사용자가 선택한 파일 경로.
  • data
    • 읽어 들인 파일 내용.
  • startTime
    • 파일 read시작 시간.
  • endTime
    • 파일 read 종료 시간.

10. 파일 write dialog

API명

  • WinInfo.FileWriteDialog

정의

  • 로컬 경로에 특정 파일을 생성하고, 파일의 내용을 지정한 문자열로 작성하기 위해 File save dialog를 띄웁니다.

호출예시

{
  "service":"WinInfo.FileWriteDialog",
  "requestKey":"Random Request Key",
  "param":{
    "initDirPath":"D:\\",
    "dialogTitle":"파일 저장",
    "filter":"텍스트|*.txt|모든파일|*.*",
    "initFileName":"test.txt",
    "data":"파일에 Write할 데이터",
    "timeFormat":0
  }
}
  • initDirPath
    • File save dialog가 open 될 때 표시할 디렉토리 경로.
  • dialogTitle
    • File save dialog의 타이틀에 표시할 내용.
  • filter
    • File open dialog에서 사용자가 선택할 수 있는 파일 확장자 필터.
    • "표시할 텍스트|필터링 할 확장자"가 반복되는 형태.
  • initFileName
    • File save dialog가 open 될 때 표시할 파일명.
  • data
    • 파일에 write할 데이터.
  • timeFormat
    • 0: Unix Epoch (UTC 기준 ms 단위 숫자)
    • 1: ISO 8601 (UTC 표준: 2025-08-19T08:22:34.123Z)

응답예시

{
  "service":"WinInfo.FileWriteDialog",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "selectedFilePath":"C:\\test.csv",
    "startTime":"1765524493661",
    "endTime":"1765524493662"
  }
}
  • returnValue
    • 서비스 상태 코드.
  • selectedFilePath
    • 사용자가 선택한 파일 경로.
  • startTime
    • 파일 write 시작 시간.
  • endTime
    • 파일 write 종료 시간.

11. 파일 리스트 획득

API명

  • WinInfo.GetFileList

정의

  • 지정한 디렉토리에 위치한 모든 파일 리스트를 획득합니다.

호출예시

{
  "service":"WinInfo.GetFileList",
  "requestKey":"Random Request Key",
  "param":{
    "dirpath":"D:\\"
  }
}
  • dirpath
    • 파일 리스트를 획득할 디렉토리 경로.

응답예시

{
  "service":"WinInfo.GetFileList",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "fileNames":["test-copy.txt","test.txt","write-test.csv"]
  }
}
  • returnValue
    • 서비스 상태 코드
  • fileNames
    • 지정한 디렉토리에 위치한 파일 이름 배열.

12. 바로가기 생성

API명

  • WinInfo.CreateShortcut

정의

  • 지정한 위치에 바로가기(*.lnk) 파일을 생성합니다.

호출예시

{
  "service":"WinInfo.CreateShortcut",
  "requestKey":"Random Request Key",
  "param":{
    "targetPath":"msedge.exe",
    "arguments":"--app=https://www.tomatosystem.co.kr",
    "shortcutPath":"%USERPROFILE%\\Desktop\\TomatoSystemApp.lnk",
    "fileWriteMode":1,
    "iconPath":"D:\test.ico"
  }
}
  • targetPath
    • 원본 파일 의 절대 경로.
    • 환경 변수로 접근 가능한 파일 경로.
  • arguments
    • 바로가기가 실행될 때 주입할 arguments.
  • shortcutPath
    • 바로가기를 생성할 파일 절대 경로.
    • 환경 변수로 접근 가능한 경로 사용 가능.
  • fileWriteMode: 파일 write 모드.
    • 0: 바로가기 파일이 존재하지 않을 경우에만 파일 생성.
    • 1: 바로가기 파일이 존재하는 경우 덮어 쓰기. (기존 내용 삭제됨)
    • 2: 바로가기에서는 지원하지 않는 옵션
  • iconPath
    • 바로가기에 적용할 아이콘 경로.
    • 적용하지 않는 경우 바로가기를 연결한 APP의 아이콘으로 대체.

응답예시

{
  "service":"WinInfo.CreateShortcut",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드