Еще вариант:
Код:

@echo off
setlocal enabledelayedexpansion
set "fn=%~n1"
set "tempdir=z:\tmp\"
if "%fn:~60,1%"=="" (echo=%fn%|findstr "[^A-Za-z_-]">nul||set "name=%~1")
if not defined name (
for /f "skip=1 tokens=1 delims=." %%d in ('wmic os get localdatetime') do set "dt=%%d"
set "name=%fn%_!dt:~0,4!-!dt:~4,2!-!dt:~6,2!_!dt:~8,2!-!dt:~10,2!-!dt:~12,2!%~x1"
copy "%~1" "%tempdir%"
ren "%tempdir%%~nx1" "%name%"
)
echo %name%
pause>nul