Как удалить часть символов имени файла по строке, включая файлы в подпапках в CMD - PullRequest
0 голосов
/ 30 марта 2020

Мне нужна твоя помощь. Я создаю этот пакетный файл для изменения или удаления разных имен файлов в разных подпапках каталогаь указанному c. но у команды есть проблема ... посмотрите это:

Set remove_me=Picture
set extension=.jpeg
set mydir="C:\users\user\Pictures\news"

содержимое этой папки и подпапок:

DCIM_0001.Picture.jpeg
DCIM_0002.Picture.jpeg
DCIM_0003.Picture.jpeg

...

Команда:

for /R %mydir% %%a in (*%remove_me%*%extension%) do (set name=%%a)

теперь у меня есть полный каталог каждого файла

пример: C: \ users \ user \ Pictures \ news \ DCIM_0001.Picture.jpeg (это моя строка "Имя" )

Удаление символов "Изображение" имени файла

setlocal enabledelayedexpansion
set new_name=!name:%remove_me%=!
setlocal disabledelayedexpansion

Результаты: C: \ users \ user \ s \ news \ DCIM_0001..jpeg

я хочу: C: \ users \ user \ Pictures \ news \ DCIM_0001..jpeg (редактировать только имя файла)

это возможно? я думаю, что если я экспортирую строку в другой файл .txt и получу ее обратно, но не имею никакого представления об этом моменте.

...