Подскажите скрипт программу которые могут изменить название множества файлов со случа
Подскажите скрипт, программу которые могут изменить название множества файлов со случайного на артикул, выполнив поиск в текстовом файле по случайному имени, и забирая артикул для каждого имени файла следующий после случайного имени?
письма лучше присылать на почту vitaly9oleg@gmail.com |
рабочий пример
https://stackoverflow.com/questions/...ing-powershell но нужно искать имя в файле и находить артикул следующий за именем и изменять названия файлов на артикул |
sergey14235, а зачем было размножать один и тот же вопрос аж по 4 темам?? Да ещё и просить ответ на почту. :read:
|
И для работы не помешает архив с несколькими из «множества файлов» плюс «текстовом файле». С описанием на данном примере, что должно получиться в итоге.
|
имеются файлы 710f7fa45c6911e9648d2cfda1bf577d.jpg
710f7fa45c6911e9648d2cfda1bf577d1.jpg 710f7fa45c6911e9648d2cfda1bf577d2.jpg в файле Namefile.txt <Артикул>020701BT</Артикул> <Картинка>pictures/71/710f7fa45c6911e9648d2cfda1bf577d</Картинка> <Артикул>020701BT1</Артикул> <Картинка>pictures/71/710f7fa45c6911e9648d2cfda1bf577d1</Картинка> <Артикул>020701BT2</Артикул> <Картинка>pictures/71/710f7fa45c6911e9648d2cfda1bf577d2</Картинка> как переименовать название картинка в артикул используя файл Namefile.txt и модифицируя программу $content = Get-Content C:\temp\ps\NewFile.txt $files = Get-ChildItem c:\temp\ps\ $content | %{ $currentLine = $_ $file = $files | Where-Object { $currentLine.StartsWith($_.Name.Replace(".xml", "")) } Rename-Item $file.Name $currentLine } т.е получить 020701BT.jpg 020701BT1.jpg 020701BT2.jpg |
2sergey14235:
Цитата:
|
sergey14235, мне нужен был архив с файлами. Посему — сожалею, но дальше без меня.
|
Вложений: 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, потому что у Вас нет точной ясной постановки.
Я этот скрипт удалил, он работал для
Цитата:
|
Цитата:
"2a08886a170211e8f097141877341409.jpg" в "A92/950.jpg" так как символ / в имени недопустим. Что делать? Код:
@Echo Off |
Время: 06:26. |
Время: 06:26.
© OSzone.net 2001-