0 / 0 / 0
Регистрация: 10.08.2019
Сообщений: 13
1

Переименовать только часть имени файла

12.01.2020, 10:12. Показов 3142. Ответов 18
Метки нет (Все метки)

И снова здравствуйте!
Столкнулся с очередной проблемой. У меня есть файл IMG_20200110(дата создания)_120654(время).jpg, и таких файлов ещё много. Мне надо переименовать эти файлы в такой тип Camera407_2020-01-10_12-06-24.jpg
Сначала использовал такой дикий костыль ren IMG_*.* Camera470_%year%-%mes%-%day%_(вот тут у меня и проблема)*.*
У всех файлов время разное, а мне нужно как можно точно (чтоб часы и минуты совпадали) его, так скажем, переименовать.
Было бы класно, если можно было просто изменить IMG_* на Camera407_, а дальше просто расставить "-" , там, где надо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2020, 10:12
Ответы с готовыми решениями:

Скопировать в папку, зная только часть ее имени
Как скопировать файлы из C:\ в папку если известна только часть ее имени например...

Как найти архив если известна только часть имени
Есть несколько архивов 7704228075_40702810138000063958_824_10_18092017.zip...

Удалить часть имени файла
Нужна помощь. У меня имеется несколько папок, которые называются по шаблону...

Удалить часть имени файла
в папке около 300 файлов, в названиях есть ненужные слова и скобки например...

18
Джоуи
1070 / 632 / 240
Регистрация: 05.05.2015
Сообщений: 3,546
Записей в блоге: 2
12.01.2020, 14:11 2
Лучший ответ Сообщение было отмечено Gaben_None как решение

Решение

Цитата Сообщение от Gaben_None Посмотреть сообщение
Было бы класно, если можно было просто изменить IMG_* на Camera407_, а дальше просто расставить "-" , там, где надо.
можно
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
cd /d "%~dp0"
setlocal enabledelayedexpansion
FOR %%a in (IMG_*.jpg) DO (
  set f=%%~nxa
  set n=Camera407_!f:~4,4!-!f:~8,2!-!f:~10,2!_!f:~13,2!-!f:~15,2!-!f:~17,2!.jpg
  ren %%a !n!
)
бросаете в папку с файлами
1
0 / 0 / 0
Регистрация: 10.08.2019
Сообщений: 13
12.01.2020, 20:46  [ТС] 3
Большое спасибо
0
Джоуи
1070 / 632 / 240
Регистрация: 05.05.2015
Сообщений: 3,546
Записей в блоге: 2
13.01.2020, 02:22 4
Gaben_None, совсем не интересно, как этот код работает?
0
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 9
19.05.2020, 16:59 5
Добрый день,

Не могу найти "свой" вариант команды для файла bat
В одной папке находятся файлы .jpg
Необходимо удалить в название файлов "reklama_" и все что стоит после второго знака "_"

Примеры файлов.
reklama_572110K_v1_20100801.jpg
reklama_E10510190122_1.jpg
reklama_3811820_1.jpg
reklama_E40720030110.jpg

В названии файлов должно остаться только то что выделено "жирным"

Спасибо.
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
19.05.2020, 20:37 6
Varelik, добрый вечер:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
cd /d C:\test
for /f "tokens=* delims=" %%a in ('dir /a-d/b ^| findstr /b /c:"reklama_"') do (
    call :step_1 "%%a"
)
pause
exit
:step_1
for /f "tokens=2 delims=_." %%a in (%1) do (
    ren %1 "%%a%~x1"
)
exit /b
Примечание.
Во второй строчке вместо C:\test прописываете путь к каталогу, в котором лежат файлы
1
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 9
21.05.2020, 13:32 7
Добрый день,
Спасибо, с переименованием файлов получилось.
0
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 9
09.09.2020, 15:27 8
Добрый день,
Не могу найти код для Bat который размножит файл и присвоит названия из другого файла.
Помогите пожалуйста ссылкой.
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
09.09.2020, 15:29 9
Varelik, добрый!
Цитата Сообщение от Varelik Посмотреть сообщение
присвоит названия из другого файла.
Я правильно понял, что имеется текстовый файл, в котором содержится список имён, которые нужно присвоить копиям файла?
0
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 9
09.09.2020, 15:31 10
Да, имеется файл XLS (могу сделать) в TXT.
В нем содержаться названия.
так же имеется один файл jpg.

Задача размножить этот jpg в соответствии с названиями из первого файла (TXT)
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
09.09.2020, 15:36 11
Примерно так:
Windows Batch file
1
2
3
4
5
@echo off
for /f "tokens=* delims=" %%a in (list.txt) do (
    xcopy "file.jpg" "%%a.jpg"
)
pause
1
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 9
09.09.2020, 15:53 12
Спасибо, большое.
Хорошего дня.
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
09.09.2020, 15:54 13
Varelik, да не за что. Спасибо, и Вам!
0
265 / 70 / 11
Регистрация: 29.05.2011
Сообщений: 1,885
09.09.2020, 16:24 14
А по маске "?" не годится?
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
09.09.2020, 16:29 15
Цитата Сообщение от Bazaroff Посмотреть сообщение
А по маске "?" не годится?
Не понял Вашу мысль
0
265 / 70 / 11
Регистрация: 29.05.2011
Сообщений: 1,885
09.09.2020, 16:34 16
Karen87, я не помню точно команду (опять из MS DOS), вроде ren файл1 ????2
типо того.
Не сработает?
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
09.09.2020, 16:39 17
Цитата Сообщение от Bazaroff Посмотреть сообщение
Не сработает?
В данном случае автор вопроса хочет размножить имеющийся файл и каждой копии присвоить имя из уже имеющегося списка. Нужен банальный цикл, что я и продемонстрировал :-)
0
265 / 70 / 11
Регистрация: 29.05.2011
Сообщений: 1,885
09.09.2020, 16:59 18
Karen87, понял. Пардон! Прочитал только заголовок недотёпа.(((
0
1257 / 759 / 331
Регистрация: 29.05.2016
Сообщений: 3,474
09.09.2020, 17:00 19
Bazaroff, да всё нормально
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2020, 17:00

Как скопировать папку со всеми файлами, если известна только часть её имени?
есть папка "CO 2016-08-02 15;38;15", где "2016-08-02 15;38;15" дата вплоть до секунды, эта дата...

Изменить часть имени файла во всех подкаталогах
Добрый день. Нужна помощь. Нужно изменить часть имени файла во всех подкаталогах. Пример: было...

Объединить Часть имени файла и строку в файле
Добрый день. Прошу помощи. Есть файлы вида 192.168.1.101_file.txt В файле 1 запись bla bla bla....

Создание файла, часть имени которого - нумерованная строка
Добрый день. Сейчас постараюсь объяснить... Есть БАТ @echo off chcp 1251 play c:\ cd...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.