У меня есть текстовый файл с расширением .txt с двойной кавычкой для количества записей в конце этого текстового файла каждый раз, когда файл создается сторонней программой.

Поэтому есть ли какие-либо методы или коды, которые я могу использовать для удаления двойной кавычки количества записей в последней строке текстового файла? Пожалуйста, сообщите об этом. Спасибо.

Я провожу исследования, но все цитаты удалены.

::====== script starts here ===============
@echo off > NEWFILE & setLocal enableDELAYedeXpansioN
:main
for /f "tokens=* delims= " %%a in (myfile) do (
set S=%%a
set S=!S:^|^"^|=^|^|!
set S=!S:^|^"^|=^|^|!
set L=!S:~-1!
if '!L!' equ '^"' set S=!S:~0,-1!
echo.!S!
) >> NEWFILE
goto :eof
::====== script ends here =================

Вывод из программы

"1"|"abc"|"123"
"2"|"abcd"|"456"
"3"|"abce"|"789"
"3"

Вывод с измененной последней строкой

"1"|"abc"|"123"
"2"|"abcd"|"456"
"3"|"abce"|"789"
3
0
tim 10 Фев 2021 в 07:17

1 ответ

Лучший ответ

Все, что вам нужно сделать, это присвоить строку переменной и отображать ее только тогда, когда есть предыдущая строка. С помощью этой логики последняя строка будет присвоена строковой переменной, но не будет выводиться в новый файл до последнего оператора echo.

@echo off > NEWFILE & setLocal enableDELAYedeXpansioN
:main
set "line="
for /f "delims=" %%a in (myfile) do (
    if defined line echo !line!
    set "line=%%a"
) >> NEWFILE
(echo %line:~1,-1%)>>NEWFILE
goto :eof
0
Squashman 10 Фев 2021 в 05:26