파일 관련 서비스

 로컬 파일을 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명

정의

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

호출예시

{
  "service": "WinInfo.OpenFile",
  "requestKey": "Random Request Key",
  "param": { 
    "filePath": "D:\\test.exe",
    "args": "-q"
  }
}

응답예시

{
  "service":"WinInfo.OpenFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}

2. 파일 read

API명

정의

호출예시

{
  "service":"WinInfo.ReadFile",
  "requestKey":"Random Request Key",
  "param": { 
    "filePath": "D:\\test.txt",
    "fileEncodingType":"UTF-8",
    "timeFormat": 0
  }
}

응답예시

{
  "service":"WinInfo.ReadFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "data":"읽어들인 파일 내용",
    "startTime":"1765346851091",
    "endTime":"1765346851091"
  }
}

3. 파일 write

API명

정의

호출예시

{
  "service":"WinInfo.WriteFile",
  "requestKey":"Random Request Key",
  "param":{
    "filePath": "D:\\test.csv",
    "fileWriteMode": 0
    "data": "사번,이름,부서,직책,이메일,입사일,재직상태...",
    "timeFormat": 0
  }
}

응답예시

{
  "service":"WinInfo.WriteFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "startTime":"1765350096544",
    "endTime":"1765350096547"
  }
}

4. 파일 delete

API명

정의

호출예시

{
  "service": "WinInfo.DeleteFIle",
  "requestKey": "Random Request Key",
  "param": { 
    "filePath":"D:\\test.csv"
  }
}

응답예시

{
  "service":"WinInfo.DeleteFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}

5. 파일 copy

API명

정의

호출예시

{
  "service": "WinInfo.CopyFile",
  "requestKey": "Random Request Key...",
  "param": { 
    "srcFilePath": "D:\\test.txt",
    "destFilePath": "D:\\test-copy.txt",
    "fileCopyMode": 0
  }
}

응답예시

{
  "service":"WinInfo.CopyFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}

6. 파일 실행

API명

정의

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

호출예시

{
  "service":"WinInfo.GetFileList",
  "requestKey":"Random Request Key",
  "param":{
    "filePath":"msedge.exe",
    "args": "--app=https://www.tomatosystem.co.kr"
  }
}

응답예시

{
  "service":"WinInfo.RunFile",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}

7. 디렉토리 open

API명

정의

호출예시

{
  "service":"WinInfo.OpenDirectory",
  "requestKey":"Random Request Key",
  "param":{
    "dirPath":"D:\\test\\target"
  }
}

응답예시

{
  "service":"WinInfo.OpenDirectory",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}

8. 파일 open dialog

API명

정의

호출예시

{
  "service":"WinInfo.FileOpenDialog",
  "requestKey":"Random Request Key",
  "param":{
    "initDirPath":"D:\\",
    "dialogTitle":"오픈할 파일을 선택하세요",
    "filter":"텍스트|*.txt|JSON|*.json|CSV|*.csv|모든파일|*.*",
    "initFileName":"test.csv",
    "args":""
  }
}

응답예시

{
  "service":"WinInfo.FileOpenDialog",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "selectedFilePath":"D:\\test.csv"
  }
}

9. 파일 read dialog

API명

정의

호출예시

{
  "service":"WinInfo.FileReadDialog",
  "requestKey":"Random Request Key",
  "param":{
    "initDirPath": "C:\\",
    "dialogTitle": "Read할 파일 선택",
    "filter": "텍스트|*.txt|JSON|*.json|CSV|*.csv|모든파일|*.*",
    "timeFormat": 0
  }
}

응답예시

{
  "service":"WinInfo.FileReadDialog",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "selectedFilePath":"D:\\write-test.csv",
    "data":"읽어 들인 파일 내용",
    "startTime":"1765523201801",
    "endTime":"1765523201801"
  }
}

10. 파일 write dialog

API명

정의

호출예시

{
  "service":"WinInfo.FileWriteDialog",
  "requestKey":"Random Request Key",
  "param":{
    "initDirPath":"D:\\",
    "dialogTitle":"파일 저장",
    "filter":"텍스트|*.txt|모든파일|*.*",
    "initFileName":"test.txt",
    "data":"파일에 Write할 데이터",
    "timeFormat":0
  }
}

응답예시

{
  "service":"WinInfo.FileWriteDialog",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "selectedFilePath":"C:\\test.csv",
    "startTime":"1765524493661",
    "endTime":"1765524493662"
  }
}

11. 파일 리스트 획득

API명

정의

호출예시

{
  "service":"WinInfo.GetFileList",
  "requestKey":"Random Request Key",
  "param":{
    "dirpath":"D:\\"
  }
}

응답예시

{
  "service":"WinInfo.GetFileList",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "fileNames":["test-copy.txt","test.txt","write-test.csv"]
  }
}

12. 바로가기 생성

API명

정의

호출예시

{
  "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"
  }
}

응답예시

{
  "service":"WinInfo.CreateShortcut",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
버전 #8