Please ignore above. Unfortunately I did not read your requirement carefully enough. Sorry. This script creates a folder for either the full file name, or if it contains an underscore, the part before the underscore. As before, you can remove or comment out all the lines starting with echo, and if you do not want the script to wait for a keypress at the end, you can do likewise with the final "pause" command.
@echo off
setlocal enabledelayedexpansion
for %%A in (*.psd *.jpg) do (
echo file found %%A
for /f "delims=" %%B in ("%%A") do set fname=%%~nB
for /f "delims=" %%C in ("%%A") do set fextn=%%~xC
for /f "tokens=1* delims=_" %%D in ("!fname!") do set folname=%%D
echo folder name !folname!
if not exist "!folname!" (
echo Folder !folname! does not exist, creating
md "!folname!"
) else (
echo Folder !folname! exists
)
echo Moving file %%A to folder !folname!
move "%%A" "!folname!"
)
echo Finished
pause
Tested with these files in the same folder as the batch:
apple.jpg
apple.psd
bear.jpg
bear.psd
cat.jpg
cat.psd
cat_low.jpg
cat_low.psd
cat_mob.jpg
cat_mob.psd
Batch output:
file found apple.psd
folder name apple
Folder apple does not exist, creating
Moving file apple.psd to folder apple
1 file(s) moved.
file found bear.psd
folder name bear
Folder bear does not exist, creating
Moving file bear.psd to folder bear
1 file(s) moved.
file found cat.psd
folder name cat
Folder cat does not exist, creating
Moving file cat.psd to folder cat
1 file(s) moved.
file found cat_low.psd
folder name cat
Folder cat exists
Moving file cat_low.psd to folder cat
1 file(s) moved.
file found cat_mob.psd
folder name cat
Folder cat exists
Moving file cat_mob.psd to folder cat
1 file(s) moved.
file found apple.jpg
folder name apple
Folder apple exists
Moving file apple.jpg to folder apple
1 file(s) moved.
file found bear.jpg
folder name bear
Folder bear exists
Moving file bear.jpg to folder bear
1 file(s) moved.
file found cat.jpg
folder name cat
Folder cat exists
Moving file cat.jpg to folder cat
1 file(s) moved.
file found cat_low.jpg
folder name cat
Folder cat exists
Moving file cat_low.jpg to folder cat
1 file(s) moved.
file found cat_mob.jpg
folder name cat
Folder cat exists
Moving file cat_mob.jpg to folder cat
1 file(s) moved.
Finished
Press any key to continue . . .
Files after run:
\apple\apple.jpg
\apple\apple.psd
\bear\bear.jpg
\bear\bear.psd
\cat\cat.jpg
\cat\cat.psd
\cat\cat_low.jpg
\cat\cat_low.psd
\cat\cat_mob.jpg
\cat\cat_mob.psd