Я пытаюсь создать путь к временному файлу, который будет использоваться в пакетном файле.
Существуют переменные окружения %TEMP%
и %TMP%
, чтобы получить временный каталог для текущего пользователя. Но как создать имя файла, которое, безусловно, еще не существует?
Конечно, я могу использовать встроенную переменную %RANDOM%
и создать что-то вроде bat~%RANDOM%.tmp
, но этот метод не гарантирует, что файл в настоящее время не существует (или что он будет создан по совпадению другим приложением, прежде чем я сначала создайте его на диске и напишите ему) - хотя это все очень маловероятно.
Я знаю, что могу просто уменьшить вероятность таких столкновений, добавив также %DATE%
/%TIME%
, или просто добавив несколько экземпляров %RANDOM%
, но это не то, что я хочу...
Примечание: В соответствии с этим сообщением существует метод .NET(Path.GetTempFileName()
), который делает именно то, что я прошу для (помимо, конечно, неправильного языка программирования).