Я нашел сообщение magoo и играл с ним. Кажется, я не могу заставить часть DIR проанализировать имя файла, чтобы создать папку и переместить файлы в соответствующие папки. Ниже приведены примеры файлов Я работаю с:Batch Created Folder By Filename Part and Move
...
800.1.gif
800.2.gif
800.3.jpg
801.1.gif
801.2.jpg
801.3.gif
...
Партия должна создавать папки 800 и 801 и переместить 800.X и 801.x файлы соответственно. Я пробовал FINDSTR и другие маски и не имел большой удачи.
Вот оригинальный пакетный код МагУ в (источник: http://bit.ly/1ua8IIF):
@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
PUSHD %sourcedir%
FOR /f "tokens=1*" %%a IN (
'dir /b /a-d "*_*_*-*-* *.*"'
) DO (
ECHO MD %%a
ECHO MOVE "%%a %%b" .\%%a\
)
POPD
GOTO :EOF
Моя попытка через несколько часов:
@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
PUSHD %sourcedir%
FOR /f "tokens=1*" %%a IN (
'dir /b /a-d ^|findstr /r "\.[1-9]"'
) DO (
ECHO MD %%a
ECHO MOVE "%%a %%b" .\%%a\
)
POPD
GOTO :EOF
Я до сих пор играю с ним, но любая помощь будет очень оценил это!
Большое вам спасибо. Я только что узнал о делимах. Это спасло бы мне больше времени вместо того, чтобы возиться с регулярным выражением FINDSTR - тьфу! Еще раз спасибо, Magoo! – Malibu