![]() |
Как исправить программу?
Вложений: 1
необходимо переименовать файлы 710f7fa45c6911e9648d2cfda1bf577d.jpg
cde9bde81a5b11e96b882cfda1bf577d.jpg 2af8db480fca11e71a9a141877341409.jpg в артикул беря артикул из файла namefile.txt по названию картинка т.е. получить 020701BT.jpg 040109GT.jpg также необходимо чтобы для картинки cde9bde81a5b11e96b882cfda1bf577d.jpg название получалось путем добавления артикул 020701BT плюс 1 а для картинку d266b9021a5b11e96b882cfda1bf577d.jpg название получалось путем добавления артикул 020701BT плюс 2 т.е. получаем 020701BT1.jpg 020701BT2.jpg namefile.txt прилагаю внизу файл <Артикул>020701BT</Артикул> <Картинка>710f7fa45c6911e9648d2cfda1bf577d</Картинка> <Картинка>cde9bde81a5b11e96b882cfda1bf577d</Картинка> <Картинка>d266b9021a5b11e96b882cfda1bf577d</Картинка> <Артикул>040109GT</Артикул> <Картинка>2af8db480fca11e71a9a141877341409</Картинка> <Картинка>2d2190400fca11e71a9a141877341409</Картинка> <Артикул>7696</Артикул> <Картинка>670cfeec16b111e6cd8f141877341409</Картинка> программа @Echo Off Set "InFile=C:\t\*.jpg" Set "ArtFile=C:\t\namefile.txt" Set /A N0=100001 Set /A N=%N0%-1 FOR /F "usebackq tokens=1,2,4 delims=^<>/ " %%i IN ("%ArtFile%") DO ( If "%%k"=="" (Set /A N+=1 &Call Set "@@Art%%N%%=%%j") If Not "%%k"=="" Call Set "@@Fnm%%N%%=%%k" ) FOR %%f IN ("%InFile%") DO ( FOR /L %%i IN (%N0%,1,%N%) DO Call :ArtRen "%%f" "%%@@Fnm%%i%%" "%%@@Art%%i%%" ) Exit /B :ArtRen If /I "%~n1"==%2 Ren %1 "%~3%~x1" Exit /B\ |
sergey14235,
есть вопрос-проблема что делать со строками: <Артикул>A92/950</Артикул> <Артикул>A92/700</Артикул> ведь символ / нельзя использовать в именах, а если брать только первую часть: A92 или вторую: 700, то есть немалая вероятность наличия строк: <Артикул>A92</Артикул> <Артикул>950</Артикул> и тут уже тоже надо бороться с повтором верхнего уровня. По именам строк: <Картинка>cd/cde9bde81a5b11e96b882cfda1bf577d</Картинка> тоже есть вопрос, брать только вторую часть относительно /, по той же причине что выше указано? Ну и для пущей ясности, могут ли быть (уже или потом) в строках Артикулов или Картинок запрещенные для имени символы: * < > \ / | ? : |
Цитата:
|
Цитата:
кстати код явно megaloman делал, его "почерк". |
alpap,
Цитата:
sergey14235, программу исправить нельзя, она делалась для другой постановки. И я её убил, она бессмысленна после обнародования последнего варианта постановки Я выдал другое решение. Эта задача расползлась в 2 темы. |
Время: 00:13. |
Время: 00:13.
© OSzone.net 2001-