[Batch/CMD] Поиск файлов .txt и удаление последнего символа в каждой строке

sviridov_artem

Новый пользователь
Сообщения
39
Реакции
0
Необходим .bat, который находит файл .txt и удаляет в нём последний символ в каждой из строк.
 
Последнее редактирование модератором:
Спасибо, необходим .bat, который находит файл .txt и удаляет в нём последний символ в каждой из строк.
Конечно! Вот пример скрипта .bat, который находит файл .txt и удаляет последний символ в каждой строке:

CMD/BATCH:
@echo off
setlocal enabledelayedexpansion

rem Получение пути к папке, содержащей .bat файл
for %%I in ("%~dp0.") do set "folder=%%~fI"

rem Поиск файла .txt в папке
for %%I in ("%folder%\*.txt") do (
    set "txt_file=%%~fI"
    goto :ProcessFile
)

echo Файл .txt не найден.
goto :End

:ProcessFile
rem Удаление последнего символа в каждой строке файла
set "temp_file=%temp%\temp.txt"
(for /f "usebackq delims=" %%L in ("%txt_file%") do (
    set "line=%%L"
    setlocal enabledelayedexpansion
    if "!line:~-1!"=="" (
        echo !line!
    ) else (
        echo !line:~0,-1!
    )
    endlocal
)) > "%temp_file%"

rem Замена исходного файла
move /y "%temp_file%" "%txt_file%"

echo Обработка файла .txt завершена.

:End

Сохраните этот код в файле с расширением .bat, поместите его в папку с файлом .txt, который вы хотите обработать, и запустите .bat файл. Он найдет файл .txt в папке и удалит последний символ в каждой строке файла.

Пожалуйста, обратите внимание, что этот скрипт будет работать только для одного файла .txt в папке, где находится .bat файл. Если вам нужно обработать несколько файлов .txt, вам потребуется внести изменения в скрипт.
 
Назад
Сверху Снизу