简体   繁体   中英

Batch script to create folders based on filenames

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM