Create directory based file name

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
darioit
Posts: 230
Joined: 02 Aug 2010 05:25

Create directory based file name

#1 Post by darioit » 02 Nov 2011 17:00

Hello everybody,

I have many files called 20100620(202205).m2ts

I'd like to move each file in a new directory based on name file (date in this case, position 1-8))

Dir 20100620(202205).m2ts
Mkdir c:\main\2010-06-20
move 20100620(202205).m2ts c:\main\2010-06-20

Thanks in advance

Dario

trebor68
Posts: 146
Joined: 01 Jul 2011 08:47

Re: Create directory based file name

#2 Post by trebor68 » 03 Nov 2011 15:52

The first eight numbers "yyyymmdd" making to string "yyyy-mm-dd".
If the folder not exist will make a new folder.
Move the file to the folder.

Code: Select all

@echo off
setlocal ENABLEDELAYEDEXPANSION
for %%a in (*.m2ts) do (
  set name=%%a
  set num1=!name:~0,4!
  set num2=!name:~4,2!
  set num3=!name:~6,2!

  set name2=!num1!-!num2!-!num3!
  if not exist c:\main\!name2! mkdir c:\main\!name2!
  move !name! c:\main\!name2!
)

darioit
Posts: 230
Joined: 02 Aug 2010 05:25

Re: Create directory based file name

#3 Post by darioit » 08 Nov 2011 04:45

it's works great, many thanks

Post Reply