使用 lotusscript 在 mac 中创建临时文件夹

Create folder temp in mac using lotuscript

我尝试在 Lotusscript 中使用 MkDir 创建一个目录。我想在 Mac 中创建一个临时文件夹。它不允许我创建 /Users/Temp/.

在 Mac 中创建 Temp 的其他替代方法是什么?创建它的示例 /Users 但用户名例如/Users/name/Temp。在这种情况下,您如何使用 Lotus 脚本为任何用户创建临时文件夹。

使用 mkdtemp the standard c library call, as described in this question 应该可以做到这一点。在 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 )

我没有 mac 所以这可能需要调整才能正常工作。

在 /Users 中创建文件夹与 /Users/yourname 之间的区别在于,在用户中您没有写入(或创建文件夹)的权限,而您可以在主目录中写入(/Users/yourname).

在 /tmp 中创建子目录的问题是相同的 - 您没有权限。

您最好的选择是使用 Environ$("TMPDIR"),returns 当前用户的临时目录路径。您可以在那里创建自己的文件夹。

要创建可移植代码,您可能会遍历 "TMP"、"TEMP"、"TMPDIR" 变量,直到找到一个返回值。这样您也可以在 Windows 上找到临时文件夹。在 Linux 你没有环境变量,但是 /tmp 对每个人都是可写的。

我找到方法了。如果将它放在共享 /Users/Shared/ 中,它会起作用。想到分享给大家。