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

Как мне это сделать?

@echo
SET path = "C:\Documents\Img"
dir /b %path % > myImg.txt

2 ответа2

1

Быстрое решение (с большой помощью: https://stackoverflow.com/questions/3215501/batch-remove-file-extension), которое просто получает имя файла (без расширения) и выводит список в файл:

(Я отредактировал мой ответ, чтобы он соответствовал вашему каталогу / файлу)

@echo off
for /R "C:\Documents\Img" %%f in (*.*) do (
    echo %%~nf >>myImg.txt
)
pause

Скрипт будет постоянно добавляться в файл pics.txt поэтому, если вам нужно каждый раз записывать новый файл, вам нужно будет добавить начальный шаг, чтобы перезаписать файл пустой строкой (break>myImg.txt):

@echo off
break>myImg.txt
for /R "C:\Documents\Img" %%f in (*.*) do (
    echo %%~nf >>myImg.txt
)
pause
0

Быстрый поиск для удаления расширения файла.

Вы можете использовать цикл for через в и эхе / записи %path в файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .