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

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

Ответить
Настройки темы
CMD/BAT - [решено] удаление части строки

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


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

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


Привет Алл!
Вопрос детский, наверное. )
Есть файл, который формируется ежедневно. в нем такие строки

users:
name=Vasia Pupkin
name=Yulia Ivanova
name=Sidor Pavlov

как средствами винды удалять в файле слово "name="
если не трудно пример кода

Отправлено: 14:11, 09-03-2011

 

Аватара для gora

Ушёл из жизни


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

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


Примерно так:
Код: Выделить весь код
@Echo Off
:: Обрабатываемый файл
Set file=e:\Temp\list 1.txt
:: Образец строки подлежащей удалению (без знака равно)
Set srt=name

(For /F "usebackq tokens=1* delims==" %%i In ("%file%") Do (If "%%i"=="%srt%" (Echo %%j) Else (If "%%j"=="" (Echo %%i) Else Echo %%i=%%j)))>test.txt
Copy test.txt "%file%" /Y>Nul
Del test.txt>Nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:34, 09-03-2011 | #2



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

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


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


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

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


Спасибо, работает.

Отправлено: 14:50, 09-03-2011 | #3


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


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

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


Цитата gora:
Примерно так »
если изменить запрос, к примеру, на set str=nam - то работать не будет, подскажите, как сделать полноценный поиск и удаление подстроки
пример кода основанного на этом, для того, чтобы было видно что пытаюсь сделать:
Код: Выделить весь код
@ECHO OFF
CHCP 1251

:: Обрабатываемый файл
SET file=test.txt
SET ftmp=%file%.tmp
SET srt=|CD

DIR /b /s /a:d > %file%


(for /F "usebackq tokens=1* delims==" %%i in ("%file%") do (if "%%i"=="%srt%" (echo %%j) else (If "%%j"=="" (echo %%i) else echo %%i=%%j)))>%ftmp%
copy %ftmp% "%file%" /Y>nul
del %ftmp%>nul

Отправлено: 13:35, 27-08-2014 | #4


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


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

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


Цитата Georgio:
Код: Выделить весь код
SET "file=test.txt"
SET "ftmp=%file%.tmp"
SET "srt=|CD"
и что это?
вообще бессмысленное действие обрамлять переменную со значениями в кавычки

Последний раз редактировалось ~Cache~, 27-08-2014 в 14:21.


Отправлено: 14:12, 27-08-2014 | #5


Ветеран


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

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


Цитата ~Cache~:
вообще бессмысленное действие обрамлять переменную со значениями в кавычки »
Это не так.

Отправлено: 14:24, 27-08-2014 | #6


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


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

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


Цитата Iska:
Это не так. »
допустим, но это не на что не повлияло, как лишнее из файла не удалялось, так и не удаляется

Отправлено: 14:25, 27-08-2014 | #7


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


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

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


Цитата Georgio:
Ну, так делайте по-своему, посмотрим, что из этого выйдет. »
повторюсь, ваш совет - не помог, даже если оно и не бессмысленно
хотя в большинстве языков программирования в кавычки помещают значение, а не "переменная=значение"

Отправлено: 14:31, 27-08-2014 | #8


Ветеран


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

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


~Cache~, язык пакетных файлов — не «язык программирования».

Пример своего кода Вы привели. Теперь приведите образец файла, упаковав его в архив.

Отправлено: 14:35, 27-08-2014 | #9


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


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

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


Цитата Iska:
Пример своего кода Вы привели. Теперь приведите образец файла, упаковав его в архив. »
прошу прощения, но переспрошу, вам нужен результат работы скрипта? т.к. сам скрипт создает данный файл командой DIR /b /s /a:d > %file%

Отправлено: 14:39, 27-08-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Удаление принтеров из командной строки denzill Microsoft Windows 2000/XP 45 24-08-2021 23:31
PowerShell - [решено] Удаление пустой строки в файле monolit Скриптовые языки администрирования Windows 4 17-08-2013 13:57
Разное - Удаление строки инсрументов Forpost Оформление Windows 11/ 10 / 8 / 7 / Vista 3 24-01-2011 20:32
удаление строки Windows из загрузчика Linux Baiker Хочу все знать 7 04-01-2011 04:36
[решено] Удаление строки из файла gregaz AutoIt 2 16-07-2009 18:46




 
Переход