Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   удалить часть имени файла (http://forum.oszone.net/showthread.php?t=336260)

foto-d.k 17-08-2018 18:16 2827144

удалить часть имени файла
 
друзья помогите
нужно постоянно удалять в ручную из имени файла "_sphere"
файлы такого формата
pano0001_sphere.tif
pano0002_sphere.tif
pano0003_sphere.tif
надо чтоб имя сохранялось удалялось только часть _sphere

пробовал этот код

@echo off
for %%A IN (*.*) DO (
for /f "tokens=1* delims=_sphere" %%B IN ("%%~nA") DO ren "%%~A" "%%~B%%~xA"
)

он делает с такого (pano0001_sphere.tif) такое (ano0001.tif)

alpap 17-08-2018 19:45 2827152

Цитата:

Цитата foto-d.k
delims=_sphere »

будет делить по каждому встречающемуся знаку, а не по цельному сегменту
в вашем случае лучше ..."delims=_".. (tokens=1 уже стоит по умолчанию) и дописать расширение - вывод %%A.tif
Код:

for /f "delims=_" %%A in ('dir /a-d/b "pano*_sphere.tif"') do echo %%A.tif
:: Правда для переименования tokens писать придеться
for /f "tokens=1* delims=_" %%A in ('dir /a-d/b "pano*_sphere.tif"') do ren "%%A_%%B" "%%A%%~xB"


Iska 17-08-2018 19:52 2827154

Прямо в командной строке:
Код:

for %i in (pano*_sphere.tif) do @(set "sVar=%~i" & call ren "%~i" "%sVar:_sphere=%")

foto-d.k 17-08-2018 20:15 2827157

спасибо! и один и второй способ работает


Время: 01:02.

Время: 01:02.
© OSzone.net 2001-