Я записал это в файлы временных меток перед выгрузкой в SFTP.
Надеюсь, вы найдете это полезным.
Кодирование временной метки может показаться несоответствующим вашей проблеме, но я оставил ее, потому что это хороший пример анализа самого имени файла.
Я предлагаю вам поставить ECHO перед командой REN для тестирования. Разные оболочки могут иметь разные результаты.
В конце концов, команда delayedexpansion не была необходима. Это была подпрограмма, которая исправила мои проблемы с переменными внутри цикла. Это может быть из-за моей версии ОС. (Win 8.1) - Не мешало бы его оставить.
@echo off
cls
setlocal enabledelayedexpansion
if %time:~0,2% geq 10 set TIMESTAMP=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%
if %time:~0,2% leq 9 set TIMESTAMP=%date:~10,4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%%time:~6,2%
echo TimeStamp=%TIMESTAMP%
echo.
for %%G in (*.txt) do (
set OLDNAME=%%G
call :MXYZPTLK
)
dir *.txt
goto :EOF
:MXYZPTLK
echo OldName=%OLDNAME%
ren %OLDNAME% %OLDNAME:~0,-4%_%TIMESTAMP%%OLDNAME:~-4,4%
echo.
:END