Занесение значения переменной из .BAT в файл txt

В общем задача такая, что при выполнении батника, действия должны заноситься в файл log.txt. Туда попадает дата, точное время и выполненная команда. Время и дата прекрасно заносятся, а команда нет. Не знаю что делать.

@echo off
setlocal enabledelayedexpansion

REM Переменная для хранения времени
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set "datetime=%%I"
set "dateStamp=!datetime:~6,2!.!datetime:~4,2!.!datetime:~0,4!"
set "timeStamp=!datetime:~8,2!:!datetime:~10,2!:!datetime:~12,2!"
REM Переход в папку upload
cd C:\upload
REM Установка пути для файла log.txt в корень диска C:
set "logFile=C:\log.txt"
REM Создание пустого файла log.txt, если его нет
if not exist "%logFile%" type nul > "%logFile%"

REM Рекурсивный обход всех папок и файлов внутри папки upload
for /r %%F in (*) do (
    if "%%~xF"==".csv" (
        set "CURRENT_FILE=%%~nxF"
        set "CURRENT_FOLDER=%%~dpF"
        echo Processing file: !CURRENT_FOLDER!!CURRENT_FILE!
        REM Составление строки с использованием текущего файла
        set "COMMAND=curl --max-time 300 --header "Content-Type: text/csv" --data-binary @"!CURRENT_FOLDER!!CURRENT_FILE!" http://172.26.7.21:8900/v2/datamarts/eduejd26/tables/!CURRENT_FOLDER:~10!!CURRENT_FILE!/upload"
        REM Вывод сформированной команды
        echo !COMMAND!
        REM Выполнение команды и запись в лог
        (call !COMMAND! 2>&1) | (
            findstr /i "requestID" > "%temp%\temp_log.txt"
            echo %dateStamp% %timeStamp% %COMMAND% >> "%logFile%"
            type "%temp%\temp_log.txt" >> "%logFile%"
        )
        REM Если команда завершилась успешно, добавляем .csv.old к текущему файлу
        if !ERRORLEVEL! EQU 0 (
            ren "!CURRENT_FOLDER!!CURRENT_FILE!" "%%~nF.csv.old"
            echo Renamed to: !CURRENT_FILE!.csv.old
        ) else (
            echo Error occurred, file not renamed.
        )
    )
)
echo All files processed.
cmd.exe

Интересующее нас место, это

(call !COMMAND! 2>&1) | (

        findstr /i "requestID" > "%temp%\temp_log.txt"
        
        echo %dateStamp% %timeStamp% %COMMAND% >> "%logFile%"

        type "%temp%\temp_log.txt" >> "%logFile%"
    ) 

Ответы (0 шт):