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

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

Ответить
Настройки темы
CMD/BAT - Удаление пробелов справа в строках в файле (rtrim)

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


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

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


Добрый вечер! Подскажите, как можно решить следующую задачу с помощью bat файла.
Есть несколько файлов (*.aa1, *.aa2,....) нужно в каждой строку для каждого из этих файлов удалить все пробелы, т.е. сделать rtrim для каждой строки.

Отправлено: 23:47, 03-06-2010

 

Аватара для zonderz

Ветеран


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

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


просто логика (паскаль)

while True do if Stroka[1] = ' ' then Delete (Stroka, 1,1) else Exit

полезная ссылка по триму...
http://www.dostips.com/DtTipsStringManipulation.php

-------
MCP, MCSA, MCSE, разработчик программы CMDTools
http://forum.oszone.net/thread-170783.html

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

Отправлено: 00:38, 04-06-2010 | #2



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

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


Googler


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

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


обычно батник пишется из расчета на конкретный текст, форматирование произвольных строк батником - далеко нетривиальная задача т.к. некоторые знаки зарезервированы под метасимволы (особенно сложно с процентами и кавычками), у меня получился такой вариант:
Код: Выделить весь код
@echo off

set mask=*.aa1 *.aa2
set rand=~%random%.tmp

for %%f in (%mask%) do (
  if exist %rand% del %rand%
  for /f "usebackq delims=" %%i in ("%%f") do (
    set "line=%%i"
    call :echo >>%rand%)
  if exist %rand% del /f/q "%%f"& ren %rand% "%%f"
)
if exist %rand% del %rand%
exit /b

:echo
 if not defined line echo.& exit /b
 set "$eol=%line:~-1%"
 set "$eol=%$eol: =%"
 
 if not defined $eol set "line=%line:~0,-1%"
 if not defined $eol goto :echo
 <nul set /p $x="%line%"
echo.& exit /b
P.S. всё-таки надежней использовать специально предназначенные для этого утилиты типа SED

Последний раз редактировалось amel27, 04-06-2010 в 14:55. Причина: очепятка


Отправлено: 09:33, 04-06-2010 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? VladZombie Скриптовые языки администрирования Windows 70 08-09-2020 13:28
PowerShell - [решено] Удаление пустой строки в файле monolit Скриптовые языки администрирования Windows 4 17-08-2013 13:57
[решено] Удаление пробелов AzazeLHAck AutoIt 3 03-05-2010 01:49
Интерфейс - [решено] Windows XP sp3 автозавершене в строках ввода Dis74 Microsoft Windows 2000/XP 1 10-01-2009 09:24
Помогите найти ошибку в трёх строках (perl) Guest Вебмастеру 9 30-06-2004 12:57




 
Переход