I'm not dev, I'm just looking for get code.
my folder:
default-0.png
default-0@2x.png
default-1.png
default-1@2x.png
default-2.png
default-2@2x.png
default-3.png
default-3@2x.png
default-4.png
default-4@2x.png
default-5.png
default-5@2x.png
default-6.png
default-6@2x.png
default-7.png
default-7@2x.png
default-8.png
default-8@2x.png
default-9.png
default-9@2x.png
...
I want move files with filename "@2..." only and any file extension to "new folder".
default-0@2x.png
default-1@2x.png
default-2@2x.png
default-3@2x.png
default-4@2x.png
default-5@2x.png
default-6@2x.png
default-7@2x.png
default-8@2x.png
default-9@2x.png
...
I trying use regex: (^.+@2.+.$) see check regex101 for full match text.
I tried my code and doesn't work:
@echo off
setlocal enabledelayedexpansion
for /f %%f in ('dir /b | findstr /r "(^.+@2.+.$)") do (
md "new folder"
move "%%~f" "moved folder"
)
Echo done
pause
anyone help me, what am i wrong?
UPDATED: thanks for @develc (answered) and @Mofi (edited) This worked, perfect number of my files matched regex.
md "new folder"
move "*@2x*" "new folder"
ANOTHER METHOD:
This worked but 0.1% can't move cause can't detect to filename has comment like example@2x - if comment.png. thanks for answered by @Hackoo
@echo off
MD "new folder">nul 2>&1
setlocal enabledelayedexpansion
for /f %%f in ('dir /b *@2*') do (
move "%%~f" "new folder"
)
Echo done
pause