Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Удалить в тексте файлы после слов и символов (http://forum.oszone.net/showthread.php?t=352844)

DartWeider666 18-01-2023 14:46 3001195

Удалить в тексте файлы после слов и символов
 
Как сделать чтобы cmd, удалял весь текст в файле 1.txt после test-user.lst ><"
по сути он будет оставлять текст весь включая строку с test-user.lst ><" а все остальное удалять

Спасибо

DJ Mogarych 18-01-2023 15:23 3001198

Пример файла 1.txt в студию.

DartWeider666 18-01-2023 15:31 3001199

ОК)
1.txt
Количество строк может быть разным так как и текст. неизменно test-user.lst ><"

<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>test-user.lst ><"

<text>
<text>
<text>
<text>
<text>
<text>

Итого должно остаться:

<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>
<text> <text> <text> <text> <text> <text>test-user.lst ><"

DJ Mogarych 18-01-2023 16:05 3001208

Powershell
Код:

$delim = 'test-user.lst ><'
$in = gc "D:\temp\1.txt"
$out = "D:\temp\out.txt"

$c=0
while ($in[$c] -notmatch $delim) {$c++}
$in[0..$c] > $out


DartWeider666 18-01-2023 16:51 3001214

А без Powershell?

DJ Mogarych 18-01-2023 16:58 3001216

:dont-know Из принципа не пользуетесь?
Ждите megaloman-а тогда, может, он поможет.

DartWeider666 19-01-2023 09:34 3001253

Подождем megaloman-а
так ругается на ошибку в синтаксе в команде $txt[0..$c] > $out

DJ Mogarych 19-01-2023 09:36 3001254

Windows 7 и Powershell 2?

YuS_2 19-01-2023 10:39 3001256

Цитата:

Цитата DJ Mogarych
Windows 7 и Powershell 2? »

Там ошибка в переменных... если поправить, будет везде работать...
Цитата:

Цитата DJ Mogarych
$in = gc "D:\temp\1.txt" »

Цитата:

Цитата DJ Mogarych
while ($txt[$c] »


DJ Mogarych 19-01-2023 10:49 3001260

Ах ты, ёлки... Поправил.

DartWeider666 19-01-2023 11:40 3001265

Да, Windows 7 и Powershell 2
Но опять же powershell не подходит, потом это будет являться частью cmd

DartWeider666 19-01-2023 12:05 3001270

Спасибо, но в любом случае powershell не подойдет....
Можно, конечно, очистить весь файл и потом заполнять все как надо через echo
но может найдутся варианты лучше
В интернете полно похожих решений, но что-то никак не соображу.....

DJ Mogarych 19-01-2023 15:45 3001284

А какие проблемы - вызовите скрипт powershell из cmd, а потом прочтите полученный файл.

DartWeider666 20-01-2023 09:30 3001358

Говорю же, этот вариант не подходит)


Время: 16:44.

Время: 16:44.
© OSzone.net 2001-