Batch script to create folders based on filenames

10,172

from the command line

for /f %f in ('dir *.png /b') do md %~nf & move %f .\%~nf\0000.png

if in the batch file

for /f %%f in ('dir *.png /b') do md %%~nf & move %f .\%%~nf\0000.png

Here is the example

c:\Temp\pp>dir /s/b
c:\Temp\pp\b.png
c:\Temp\pp\p.png

c:\Temp\pp>for /f %f in ('dir *.png /b') do md %~nf & move %f .\%~nf\0000.png

c:\Temp\pp>md b   & move b.png .\b\0000.png
        1 file(s) moved.

c:\Temp\pp>md p   & move p.png .\p\0000.png
        1 file(s) moved.

c:\Temp\pp>dir /s/b
c:\Temp\pp\b
c:\Temp\pp\p
c:\Temp\pp\b\0000.png
c:\Temp\pp\p\0000.png
Share:
10,172
Charlie
Author by

Charlie

Curious programmer with a heart of gold.

Updated on June 04, 2022

Comments

  • Charlie
    Charlie almost 2 years

    I have a folder with a lot of PNG images that I want to create folders for based on their filenames. I would then want the files to be moved into their respective folders of the same name and renamed to 0000.png.

    Example:

    - abcd.png
    - efghi.png
    - jklm.png
    - nopqr.png
    - stuv.png
    - wxyz.png
    

    To:

    - abcd/0000.png
    - efghi/0000.png
    - jklm/0000.png
    - nopqr/0000.png
    - stuv/0000.png
    - wxyz/0000.png
    
  • Charlie
    Charlie over 13 years
    Thank you! Worked exactly as expected.