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

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

Ответить
Настройки темы
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать???

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


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

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


Лежит папка а в ней все отчёты в текстовом виде, так вот надо удалить со всех текстовых документах строки где есть слова "mozila" как это сделать? Нашёл вот это
HTML код: Выделить весь код
type your_file.txt | findstr /v firefox.exe > temp.txt del your_file.txt rename temp.txt your_file.txt

но он не удаляет ((((

Отправлено: 19:39, 19-09-2009

 

Старожил


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

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


megaloman, спасибо большое

Отправлено: 05:03, 26-03-2020 | #31



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

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


Старожил


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

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


Цитата megaloman:
вызвать скрипт из командной строки, указав в аргументе скрипта в кавычках путь к папке »
какой командой в cmd запустить скрипт, указав местонахождение скрипта и папки с CSV?
Путь к скрипту: D:\Новая папка\script.vbs
Путь к папке: D:\Новая папка\папка
Еще можно ли в скрипте прописать не сохранять bak-и? Или добавить строки, которые удалят эти bak-и из папки?

Iska, а ваш скрипт можно вызвать из cmd ?

Отправлено: 06:48, 26-03-2020 | #32


Ветеран


Contributor


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

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


Изображения
Тип файла: png я200325.png
(33.4 Kb, 3 просмотров)

vbs-скрипт - это исполнимый файл. Примеры запуска из командного окна в прикрепленном файле. Его вызов можно прописать в bat-файле, но смысла в этом никакого.
Код: Выделить весь код
"D:\Новая папка\script.vbs" "D:\Новая папка\папка"
Bat сохранить в 866 кодировке.
Цитата v79italya:
Еще можно ли в скрипте прописать не сохранять bak-и? »
В предыдущем посте я выделил в коде строку, создающую bak, красным. Если Вы её закомментируете (то есть поставите в начале строки апостроф ' , то bak создаваться не будет.
По моему скромному мнению также можно поступить и со скриптом Iska, тем более что при его неверном использовании его скрипт выдаёт инструкцию с форматом командной строки для его запуска.

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

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

Отправлено: 08:13, 26-03-2020 | #33


Старожил


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

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


megaloman, спасибо. Позже опробую

Отправлено: 08:45, 26-03-2020 | #34


Ветеран


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

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


Цитата v79italya:
Iska, а ваш скрипт можно вызвать из cmd ? »
Можно:
Код: Выделить весь код
"%SystemRoot%\System32\cscript.exe" //nologo "D:\Новая папка\script.vbs" "D:\Новая папка\папка"

Отправлено: 09:53, 26-03-2020 | #35


Старожил


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

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


Iska, megaloman, спасибо
Мне cmd нужно было для макроса. Но не смог настроить.
HTML код: Выделить весь код
Sub aa() 'Shell "cmd.exe", vbNormalFocus 'Shell "cmd.exe /t:0f /k cd C:\MIDI" 'Shell ("c:\windows\system32\cmd.exe ""D:\Новая папка\b.vbs"" ""D:\Новая папка\Новая папка") & vbCr 'Shell ("c:\windows\system32\cmd.exe" & Chr(34) & "\" & Chr(34) & "D:\Новая папка\b.vbs" & Chr(34) & " " & Chr(34) & "D:\Новая папка\Новая папка") End Sub

Не разбираюсь совсем в этом, делал по нагугленному и методом проб. Ничего не получилось и уже устал. Хватит мне вариант: схватить и бросить на скрипт

Отправлено: 13:46, 26-03-2020 | #36


Ветеран


Contributor


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

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


v79italya, зачем нужен этот макрос? Почему Вы привязаны к Excel? В чем конечная цель? Или Вам надо эту задачу решить в CMD?
Кастрировал vbs и превратил его в макрос Excel. Путь к папке указать явно.
Код: Выделить весь код
Sub AA()

BoxIn = "D:\Новая папка\папка"
FileIn = "^.*\.csv$"
Repl = "\n.*,null.*"

With CreateObject("Scripting.FileSystemObject")
    On Error Resume Next
        Set Folds = .GetFolder(BoxIn)
        If Err.Number <> 0 Then
            MsgBox "Ошибка при открытии папки" + vbCrLf + BoxIn + vbCrLf + vbCrLf + Err.Description
            Exit Sub
        End If
    On Error GoTo 0
    
    Set RegMaska = CreateObject("VBScript.RegExp")
    RegMaska.Pattern = FileIn
    RegMaska.IgnoreCase = True
    
    Set RegRepl = CreateObject("VBScript.RegExp")
    RegRepl.Pattern = Repl
    RegRepl.IgnoreCase = True
    RegRepl.Global = True
    
    Set Files = Folds.Files
    
    For Each jf In Files
        If RegMaska.Test(jf) Then
            On Error Resume Next
            Err.Number = 0
            Set fIn = .OpenTextFile(jf, 1, False)
            
            If Err.Number <> 0 Then
                MsgBox "Ошибка при открытии файла" + vbCrLf + .GetAbsolutePathName(jf) + vbCrLf + vbCrLf + Err.Description
                On Error GoTo 0
            Else
                Alls = ""
                Alls = fIn.ReadAll
                fIn.Close
                On Error GoTo 0
                If RegRepl.Test(Alls) Then
                    jfNew = jf.Path
                    If .FileExists(jf + ".bak") Then .DeleteFile jf + ".bak", True
'                    .MoveFile jf, jf + ".bak"       ' ==== Создание страх копии
                    
                    With .CreateTextFile(jfNew, True)
                        .Write (RegRepl.Replace(Alls, ""))
                        .Close
                    End With
                End If
            End If
        End If
    Next
End With
End Sub

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


Последний раз редактировалось megaloman, 26-03-2020 в 14:25.

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

Отправлено: 13:51, 26-03-2020 | #37


Старожил


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

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


Цитата megaloman:
зачем нужен этот макрос? Почему Вы привязаны к Excel? »
У меня все на макросах построено. Перед скачиванием этих csv фильтрация нужных тикеров, после скачивания обработка этих csv - все на макросах и формулах. Причем я макросы не пишу, могу только пользоваться(могу интуитивно изменить). Собрал все воедино. а недельку назад программка скачивания перестала работать. Пришлось скачивать напрямую, в этот раз уже в csv(до этого в txt), еще и строки пустые остаются. вот и надо было исправить.
Цитата megaloman:
В чем конечная цель? Или Вам надо эту задачу решить в CMD? »
В cmd не надо решать, просто у меня уже есть один скрипт, который запускаю макросом через cmd. И этот хотел запустить. Не получилось бы и ладно, вариант СХВАТИТЬ ПАПКУ И БРОСИТЬ НА СКРИПТ очень подходит.
А конечная цель: получить тикеры, отвечающие необходимым требованиям. В свободном доступе фильтрация по моим условиям не найдена, вот и сделал свое. Как то так.
Спасибо большое за помощь

Отправлено: 14:59, 26-03-2020 | #38


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


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

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


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

type your_file.txt | findstr /i /v "mozila" > temp.txt
del your_file.txt
rename temp.txt your_file.txt


Код расположенный выше не подходит так как нужно прописывать имя, и за один раз он обработает только один файл а нужно сразу все, иначе смысле этой затеи теряется так как макросом это все сделать будет гораздо быстрее. Операционная система Win 10. Если кто знаете подскажите.

Отправлено: 14:05, 06-09-2020 | #39


Ветеран


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

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


Цитата Jeka124:
Есть пару тысяч txt файлов »
Это будет зависеть от того, где они «есть».
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:32, 06-09-2020 | #40



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Найти и заменить в текстовом файле. Как? Pozia AutoIt 15 11-03-2010 19:12
подсчёт слов в текстовом файле bakatum Хочу все знать 4 22-01-2010 21:10
CMD/BAT - [решено] Отделить последние цифры из строчки в текстовом файле ZeroCrash Скриптовые языки администрирования Windows 4 29-06-2009 16:03
[решено] Как удалить строки в текстовом файле при отсутсвии файла в опрелеленном месте? Pozia AutoIt 23 14-05-2009 21:41
Как оставить в файле Х первых строк? Dan Вебмастеру 10 19-10-2002 00:41




 
Переход