for %%a in ("%userprofile%\desktop\Files1\pinco*") do (
for /f "tokens=2 delims=-" %%b in ("%%~na") do (
md "%userprofile%\desktop\Files2\%%b" 2>nul
move "%%a" "%userprofile%\desktop\Files2\%%b\"
)
)
Перевод на простой английский язык:
- Для всех файлов, начинающихся с
pinco
в указанной папке, выполните: - получение месяца (второй токенимя файла при ограничении
-
) - создать папку с указанным месяцем в указанной папке (не показывать ошибку, если она уже существует)
- переместить файл в эту папку
о вашем последнем комментарии (2019-01-07):
да, это возможно.Просто продлите токенизацию имени файла (%%~nF
), где %%a
будет месяцем, а %%b
будет годом:
@echo off
for %%F in ("%userprofile%\desktop\Files1\pinco*_*_*) do (
for /f "tokens=2,3 delims=-" %%a in ("%%~nF") do (
md "%userprofile%\desktop\Files2\%%b\%%a" 2>nul
move "%%~fF" "%userprofile%\desktop\Files2\%%b\%%a\%%~nxF"
)
)