xrun1
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Это секция, в которой генерируется имя временного файла и присваивается переменной Код: :FileTemp set /a fCount+=1 :: 10 попыток создать временный файл с именем датавремя.tmp в папке %TEMP% if %fCount% GTR 10 (echo %~nx0 --^> ERROR: Unable to create temporary file && goto ERROR) for /f "tokens=1 delims=." %%i in ('WMIC OS Get LocalDateTime^|Find "."') do set "fTemp=%%i.tmp" if Exist "%TEMP%\%fTemp%" goto FileTemp | Логика такая. Команда WMIC получает текущую дату и время системы, затем преобразуется в имя файла примерно в такой формат 20190905200404.tmp. После этого проверяется, существует ли такой файл во временной системной папке %TEMP% и если существует, всё повторяется. И так 10 раз, на 11-й и выводится сообщение о невозможности создать временный файл. Это теоретическая ситуация, перестраховка, обычно файла с таким именем быть не должно и всё происходит с 1-й попытки. Можно заменить на такой код и записывать временный файл в любую не системную папку на любом диске явно задав имя или случайное число %random% Код: :FileTemp :: set "fTemp=мой_временный_файл.расширение" :: или случайное имя set "fTemp=%~nx0.%RANDOM%.tmp" | Может, у Вас затесался где лишний пробел при копировании кода... Вот ссылка на мой файл, можно скачать здесь. Если будут проблемы - пишите в личку, чтобы не флудить в теме. |