파일 관련 서비스
로컬 파일을 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
- 서비스 상태 코드
댓글 없음