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

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

KOD65001 25-06-2021 16:53 2960884

С помощью bat-скрипта удалить в текстовом файле все строчки, кроме первой, при UTF-8
 
Как с помощью bat-скрипта удалить в текстовом файле все строчки, кроме первой, при условии что содержимое текста в кодировке UTF-8 ?

Elven 25-06-2021 17:42 2960889

Например так
Код:

powershell -c 'for ($i = 0; $i -lt 1; $i++) {  (Get-Content -Encoding utf8 ./file.txt)[$i] | Out-File -Encoding utf8 ./file.txt}'

KOD65001 25-06-2021 18:07 2960892

Цитата:

Цитата Elven
powershell -c 'for ($i = 0; $i -lt 1; $i++) { (Get-Content -Encoding utf8 ./file.txt)[$i] | Out-File -Encoding utf8 ./file.txt}' »

Спасибо Elven, но нужно в bat

из интернета откопал как удалить первую строчку, а остальные строчки оставить,

more +1 "file.txt" > "a"
move /Y "a" "file.txt"
exit /b 0

Вот что-то типа такого, только мне нужно на оборот - оставить только самую первую строку, через bat команды

Elven 25-06-2021 19:01 2960899

KOD65001, в bat. Вызываем через bat встроеную в винды тулу "powerrshell" и скармливаем ему через -c команду. Так что код можно скопировать в файл, оставить ему расширение cmd (или bat) и запустить нужной папке. Если на голом pwsh, то было бы на полтора десяка символов меньше.

KOD65001 25-06-2021 20:52 2960912

Elven, наверно у меня руки кривые :) скармливание в "powerrshell" не работает у меня, ничего в текстовом файле не меняется. Вопрос еще актуален!

greg zakharov 25-06-2021 22:03 2960916

sed'ом:
Код:

sed -i.bak "1!d" file.txt
или
Код:

sed -i.bak q file.txt
pwsh:
Код:

pwsh -c "gc file.txt -to 1" > result.txt
Разумеется вместо file.txt указываете свой файл с корректным путём.

KOD65001 25-06-2021 22:39 2960919

greg zakharov, нету никаких изменений в текстовом файле (file.txt).
Цитата:

Цитата greg zakharov
pwsh -c "gc file.txt -to 1" > result.txt »

В последним варианте - создается пустой без строк текстовый файл result.txt

alpap 25-06-2021 22:43 2960920

Код:

@echo off
set "f=file.txt"
<"%f%" set /p Line1=
>"%f%" echo %Line1%
pause


KOD65001 26-06-2021 00:44 2960923

alpap, теперь все работает как надо, большое спасибо :) и всем остальным тоже за помощь

Iska 26-06-2021 09:10 2960937

alpap, я знал, я знал ;), что Вы не подкачаете!


Время: 21:30.

Время: 21:30.
© OSzone.net 2001-