Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление последнего символа в каждой строке txt - файла

Ответить
Настройки темы
CMD/BAT - Удаление последнего символа в каждой строке txt - файла

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Как можно реализовать с помощью bat - файла удаление последнего символа в каждой строке txt - файла?

Отправлено: 19:30, 03-01-2013

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Лучше всего с помощью какой-нибудь утилиты для обработки текста. Например с помощью sed
Код: Выделить весь код
sed -i "s/.$//g" 1.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:49, 03-01-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
Set file=e:\Temp 1\temp.txt
Set newfile=e:\Temp 1\newtemp.txt

(For /F "tokens=* usebackq delims=" %%a In ("%file%") Do (
	Set ta=%%a
	Echo !ta:~0,-1!
))>"%newfile%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:54, 03-01-2013 | #3


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Всем спасибо огромное!

Отправлено: 21:14, 03-01-2013 | #4


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


А если нужно удалить первый и последний символ, как это правильно реализовать?
я так понимаю ещё один Set и Echo нужно добавить?

Отправлено: 15:34, 01-08-2019 | #5


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Вместо
Цитата gora:
!ta:~0,-1! »
Цитата:
!ta:~1,-1!
А вообще-то работа с текстом в CMD - скользкий путь. Лучше что-то другое (vbs, js, PowerShell)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 01-08-2019 в 15:49.


Отправлено: 15:40, 01-08-2019 | #6


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Цитата megaloman:
скользкий путь »
согласен, но сначала хочется помучать cmd, наступить на всевозможные грабли, а потом заняться делом))

Цитата megaloman:
!ta:~1,-1! »
пробовал так, но что то не выходит, от того и написал сюда..
просто последний символ, это пробел в конце строки, он вот и не удаляется.

Последний раз редактировалось Freddy1984, 01-08-2019 в 15:57.


Отправлено: 15:50, 01-08-2019 | #7


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Freddy1984,
Цитата Белое солнце пустыни:
Тебя как сразу прикончить или желаешь помучиться?
Хотелось бы конечно помучиться.
Если заниматься делом, то дайте Ваш файл.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 15:57, 01-08-2019 | #8


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Цитата megaloman:
Если заниматься делом, то дайте Ваш файл. »
да там всё просто, пробел сначала и в конце каждой строки.
строк несколько сот. понятно что можно тупо через ctrl+h , но подумал я таки про cmd для начала.

2. ага, тоже мой обожаемый фильм))))

Отправлено: 16:02, 01-08-2019 | #9


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Freddy1984, Не знаю Вашей задачи, оставил только выдачу на консоль без записи в файл. Попробуйте:
Код: Выделить весь код
@Echo Off
	Set "FileIn=Z:\Box_In\Аренда тента тента тента.txt"
	For /F "usebackq delims=" %%a In ("%FileIn%") Do (
		Set "ta=%%a"
		Echo "%%a"
		Call Echo "%%ta:~1,-1%%"
	)
Pause
Exit /B
Кавычки поставил специально, чтобы можно было сравнить два Echo: что было и что стало

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:11, 01-08-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление последнего символа в каждой строке txt - файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Двойное расширение файла, удаление последнего. delure Скриптовые языки администрирования Windows 19 25-12-2020 22:27
CMD/BAT - [решено] Удаление первых 9 символов в каждой строке TXT файла pzh2393 Скриптовые языки администрирования Windows 1 18-05-2012 16:53
CMD/BAT - [решено] Как в строке оставить лишь 2 символа, не зная её размера white155 Скриптовые языки администрирования Windows 4 09-07-2011 21:43
[решено] Замена символа в строке, по номеру [PERL] WestBronx Вебмастеру 1 22-03-2008 14:31
Номер символа в строке Nealles Программирование и базы данных 3 22-05-2003 00:41




 
Переход