Как пакетно удалить дубликаты расширений файлов в ОС

Как пакетно удалить дубликаты расширений файлов в ОС

У меня есть несколько файлов с именами ".txt.jpg" (не спрашивайте...) в одном каталоге. Я хотел бы удалить часть ".txt", чтобы результат стал ".jpg» только для того, чтобы потом импортировать их в Photos.

Есть предложения? Я посмотрел предыдущие вопросы/ответы, касающиеся команды mv, но не смог понять, как написать правильную команду. Я не хочу больше возиться. Спасибо

решение1

Если вы работаете в Windows и в именах файлов нет дополнительных точек, то вы можете использовать следующее:

ren *.txt.jpg ???????????????????????????????????????????????????.jpg

Их должно быть достаточно ?, чтобы соответствовать длине самого длинного имени файла. СмотретьКак команда Windows RENAME интерпретирует подстановочные знаки?для получения дополнительной информации.

Если в некоторых файлах больше двух точек, то вам понадобится больше, чем простая команда REN. Следующее должно удалить ненужное, .txtнезависимо от того, сколько точек в исходном имени.

for %A in (*.txt.jpg) do @for %B in ("%~nA") do @ren "%A" "%~nB.jpg"

Если вы поместите команду в пакетный скрипт, то вам необходимо удвоить проценты:

@echo off
for %%A in (*.txt.jpg) do for %%B in ("%%~nA") do ren "%%A" "%%~nB.jpg"

Связанный контент