EricScream
29-08-2017, 07:37
Пишу программу, которая должна раскидывать файлы по папкам с схожими именами, а то есть КП-11111_1 КП-11111_2 должны быть помещены в папку КП-11111, файлы НВ-222_1 и НВ-222_2 в папку НВ-222 и т.д. По отдельности эти файлы перемещаюся в папки, но если они находятся в одном каталоге при var = 6, получаются папки КП-111 и НВ-222.
Вопрос: как сделать проверку количества символов в имени файлов или брать имя до нижнего подчеркивания?
Имеется код:
@echo off
setlocal EnableDelayedExpansion
set fold=h:\1
set pict=*.png,*.jpg,*.ico,*.gif,*.tif
set /p var="Enter the number : "
if "%var%" == "0" ( exit )
pushd
chdir /d "%fold%"
for /f "delims=" %%a in ('dir %pict% /b /a:-d') do (
set Where=%%a
set Where1=!Where:~0,%var%!
if not exist !Where1! md !Where1!
move /y "%%a" !Where1!\
)
popd
pause
Вопрос: как сделать проверку количества символов в имени файлов или брать имя до нижнего подчеркивания?
Имеется код:
@echo off
setlocal EnableDelayedExpansion
set fold=h:\1
set pict=*.png,*.jpg,*.ico,*.gif,*.tif
set /p var="Enter the number : "
if "%var%" == "0" ( exit )
pushd
chdir /d "%fold%"
for /f "delims=" %%a in ('dir %pict% /b /a:-d') do (
set Where=%%a
set Where1=!Where:~0,%var%!
if not exist !Where1! md !Where1!
move /y "%%a" !Where1!\
)
popd
pause