forked from Ixiko/AHK-libs-and-classes-collection
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGetTempFile.ahk
48 lines (39 loc) · 1.32 KB
/
GetTempFile.ahk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
Recupera la ruta a un archivo temporal inexistente.
Parámetros:
Prefix: El prefijo (cadena a añadir al inicio del nombre del archivo).
Sufix : El sufijo (cadena a añadir al final del nombre del archivo).
Return:
Devuelve la ruta al archivo.
Ejemplo:
MsgBox(GetTempFile(, '.txt'))
*/
GetTempFile(Prefix := '~tmp', Sufix := '')
{
Local FileName
Loop
FileName := A_Temp . '\' . Prefix . A_Index . Sufix
Until (!FileExist(FileName))
Return (FileName)
}
/*
Recupera un objeto de archivo temporal válido para escribir en él.
Parámetros:
Prefix: El prefijo (cadena a añadir al inicio del nombre del archivo).
Sufix : El sufijo (cadena a añadir al final del nombre del archivo).
Return:
Devuelve un objeto de archivo con permiso de escritura. El objeto devuelto no comparte ningún acceso (lectura, escritura, eliminación).
ErrorLevel:
Se establece en la ruta al archivo.
Ejemplo:
MsgBox(GetTempFileObj() . ErrorLevel)
*/
GetTempFileObj(Prefix := '~tmp', Sufix := '')
{
Local FileObj, FileName
Loop
FileName := A_Temp . '\' . Prefix . A_Index . Sufix
Until (!FileExist(FileName) && (FileObj := FileOpen(FileName, 'w-rwd', 'UTF-16')))
ErrorLevel := FileName
Return (FileObj)
}