2017-10-19 11 views
0

Lotusscript에서 MkDir을 사용하여 디렉토리를 만들려고했습니다. Mac에서 Temp 폴더를 만들고 싶습니다. 그것은/사용자/임시 /를 만들 수 없습니다.LotusScript를 사용하여 Mac에 폴더 temp 만들기

Mac에서 Temp를 만드는 다른 방법에는 무엇이 있습니까? 사용자/사용자를 생성하는 예/사용자/이름/온도. 이 경우 로터스 스크립트를 사용하여 모든 사용자의 Temp 폴더를 만드는 방법은 무엇입니까?

제안 사항이 도움이됩니다. 감사.

답변

0

나는 길을 발견했다. 공유/Users/Shared /에 저장하면 작동합니다. 모든 사람에게 나눌 생각.

1

this question에 설명 된대로 mkdtemp 표준 C 라이브러리 호출로 가능해야합니다. LotusScript와에서이 같은 함수 선언 할 것이다 :

Declare Function mkdtemp Lib "libc" (template as String) as String 

과 같은 것을 사용하여 호출 그래서이 제대로 작동하기 위해 비틀기를해야 할 수도 있습니다 나는 맥이없는

Dim template As String*512 
Dim tempFolder As String*512 

template = "/tmp/myFolderXXXXXX" & chr(0) 
tempFolder = String(512,0) 
tempFolder = mkdtemp(template) 

.

0

/Users 대/Users/yourname의 차이점은 사용자가 홈 디렉토리 (/ Users/yourname)에 쓸 수있는 반면 사용자는 쓰기 권한 (또는 폴더 생성 권한)이 없다는 것입니다.

/tmp에 하위 디렉토리를 만드는 문제는 동일합니다. 권한이 없습니다.

가장 좋은 방법은 현재 사용자의 임시 디렉토리 경로를 반환하는 Environ $ ("TMPDIR")을 사용하는 것입니다. 거기에 자신의 폴더를 만들 수 있습니다.

이식 가능한 코드를 만들려면 값을 반환 할 때까지 "TMP", "TEMP", "TMPDIR"변수를 반복 할 수 있습니다. 이렇게하면 Windows에서도 임시 폴더를 찾을 수 있습니다. Linux에서는 환경 변수가 없지만/tmp는 모든 사용자에게 쓰기가 가능합니다.