user1991965
user1991965

Reputation: 73

Need a bat script to rename a file based on date while doing ftp

Here is my situation.

I have a server which is saving file everyday in the following format: TACO_2012-Dec-30__21-50-00_UTC.csv

I want to rename this file to following format using bat script: TACO_20121230_215000.csv TACO_yyyymmdd_hhmmss.csv

Here is what I want to do as a script 1. Login to ftp server 2. rename file to the new format as above

Please help...

Upvotes: 1

Views: 1693

Answers (1)

npocmaka
npocmaka

Reputation: 57252

@echo off
setlocal
for /f "tokens=2-7 delims=_.-" %%A in ('dir /B TACO_*') do (
  setlocal enabledelayedexpansion
  call :getmonth %%B
  ren TACO*_*%%A-%%B-%%C*_*%%D-%%E-%%F_UTC.csv TACO_%%A!mon!%%C_%%D%%E%%F.csv
  endlocal
)


:getmonth
if "%1" equ "Jan" set mon=01
if "%1" equ "Feb" set mon=02
if "%1" equ "Mar" set mon=03
if "%1" equ "Apr" set mon=04
if "%1" equ "May" set mon=05
if "%1" equ "Jun" set mon=06
if "%1" equ "Jul" set mon=07
if "%1" equ "Aug" set mon=08
if "%1" equ "Sep" set mon=09
if "%1" equ "Oct" set mon=10
if "%1" equ "Nov" set mon=11
if "%1" equ "Dec" set mon=12
goto :eof
endlocal

Upvotes: 1

Related Questions