file tempfile

Difference between version 11 and 12 - Previous - Next
'''[file] tempfile''',  introduced by
[http://www.tcl.tk/cgi-bin/tct/tip/210.html%|%TIP # 210%|%] in [Changes in
Tcl/Tk 8.6%|%Tcl 8.6], creates a temporary file and returns an open read-write 
[chan%|%channel] to it.


** See Also **

   [Creating Temporary Files]:   A summary of the options for creating temporary files, along with some routines to do the job.



** Synopsis **

    :   '''[file] tempfile''' ?''varName''? ?''template''?
If ''varName'' is given, set that variable to the name of the temporary file (otherwise tries to delete the file at the first opportunity). If ''template'' is given, use it to guide the filename generated. Template is in form of a file path and may include one or more of the following <directory>, <prefix>, <extension>. Extension must be specified with a leading '.'. The exception is directory by itself. See examples below 
This command was introduced by [http://www.tcl.tk/cgi-bin/tct/tip/210.html%|%TIP # 210%|%] in Tcl 8.6.
** Description **

'''`file tempfile`''' normally tries to delete the file at the first opportunity, but if ''varName'' is given, `file tempfile` sets that variable to the name of the temporary file and doen't attempt to delete file later.  The ''template'' is a file name prefix which may include directory components and a file name extension.


---- 
Examples 

======
% # <directory><prefix><extension>
% file tempfile x /tmp/dingo.txt
file5
% set x
/tmp/dingo_TaaRfi.txt
% # <prefix><extension> 
% file tempfile x dingo.txt
file6
% set x
/tmp/dingo_LX7jgP.txt
%# <prefix>
% file tempfile x txt
file9
% set x
/tmp/txt_C41OoS
%# <extension>
% file tempfile x .txt
file10
% set x
/tmp/tcl_F0Y9on.txt
% # Cant use directory by itself as shown below it takes the directory as / and prefix as tmp
% file tempfile x /tmp 
can't create temporary file: permission denied
% 

======
----
[AMG]: How do I make a uniquely-named temporary ''directory?''
[aspect]:  [TIP #431 Discussion] has some discussion and code on this question.

----[AMG]: Here's how to get comparable functionality in Tcl 8.4:
   * [Creating Temporary Files]
   * [fileutil]::tempfile
----
[AMG]: The template filename extension is ignored in Windows [http://core.tcl.tk/tcl/artifact/4deff2b7ed58706b?ln=2953-3045].  This is a problem because Windows uses extensions to determine how to "open" files.



** Page Authors **

   [AMG]:   

   [aspect]:   

   [PYK]:   



<<categories>> Command | File