I am trying to create the path to a temporary file to be used in a batch file.
There are the environment variables %TEMP%
and %TMP%
to get the temporary directory for the current user. But how to build a file name that does surely not yet exist?
Of course I can use the built-in variable %RANDOM%
and create something like bat~%RANDOM%.tmp
, but this method does not ensure that the file is currently inexistent (or that it will be created coincidentally by another application, before I first create it on disk and write to it) -- although this all is very unlikely.
I know I could just reduce the probability of such collisions by appending also %DATE%
/%TIME%
, or by just adding multiple %RANDOM%
instances, but this is not what I want...
Note: According to this post, there is a method in .NET (Path.GetTempFileName()
) which does exactly what I am asking for (besides the wrong programming language obviously).