1

Тема: CMD/BAT: генерация пути для временного файла или папки

Функция генерирует и возвращает в переменной окружения «%TemporaryName%» путь для создания временного файла или папки:

@echo off
setlocal enableextensions enabledelayedexpansion

call :GetTemporaryName
echo Temporary name: [%TemporaryName%]

endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem 
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
    setlocal enableextensions enabledelayedexpansion

:NextName
    set sTempName=%temp%\temp%random%.tmp

    if exist "%sTempName%" goto :NextName

    set sProcName=%~0

    endlocal & set %sProcName:~4%=%sTempName%
    exit /b 0
rem ==========================================================================

В функции использованы идеи из CMD/BAT: возврат значений из процедур через параметры.

Отдельное спасибо smaharbA.