CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
-
Андрей_Угаров@vk
CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Как создать txt файл с большим количеством текста с помощью bat?
Этот текст должен быть с самом batнике
Этот текст должен быть с самом batнике
-
Андрей_Угаров@vk
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
вам все еще нужно решение ?
выдачу произвольного текста заключенного в теле бат файла в выполнением того что было до и того что после этого текста ?
Код:
Код:
пример привести не жалко но боюсь флейма
пример печатающего тела
Код:
выдачу произвольного текста заключенного в теле бат файла в выполнением того что было до и того что после этого текста ?
Код:
Код: Выделить всё
cat_embedded_text.cmdКод:
Код: Выделить всё
CMD doing some stuff
If you want
If you want to
If you want to know
If you want to know PowerShell ?
That is all !@#$%^^&*()_ you want to know ...
CMD doing other stuff
CMD doing some other stuffпример привести не жалко но боюсь флейма
пример печатающего тела
Код:
Код: Выделить всё
@echo OFF
echo CMD doing some stuff
powershell.exe "&{ $p = $false; (get-content -path $args[0])| foreach-object {if ($_ -match '^REM D4D5BBCD' ){ $p = $false } if ($p) { $_ } ; if ($_ -match '^REM FAE04EC0'){ $p = $true } } }" %~dpnx0
echo CMD doing other stuff
call :AFTER
goto :EOF
REM FAE04EC0
If you want
If you want to
If you want to know
If you want to know PowerShell ?
That is all !@#$%^^&*()_ you want to know ...
REM D4D5BBCD
:AFTER
echo doing some other stuff
goto :EOF-
Андрей_Угаров@vk
-
gora
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Код:
Код: Выделить всё
@Echo Off
Set txtfile=e:\Temp\bigtxt.txt
(Echo Создаем большой текст
Echo Весь текст в батнике
Echo Здесь очень много строк
Echo Но спец. символов здесь нет
Echo Иначе их придется экранировать
Echo А это сложно... :^)
Echo Три пустые строки
Echo.
Echo.
Echo.
Echo Последняя строка
)>"%txtfile%"-
Андрей_Угаров@vk
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Или так:
Код:
Код:
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
set sFile=BigText.txt
more +10 "%~0">"%sFile%"
endlocal
exit /b 0
Создаем большой текст
Весь текст в батнике
Здесь очень много строк
Так можно и спецсимволы :^)
`~!@#$%^&*()_+|\/.,;:'"
Три пустые строки
Последняя строка-
mactepcepbep@vk
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
подскажите, последний скрипт идеально работает в локальной папке, но я никак не могу заставить его писать в файлы в директории выше, все значки cd ../ работают а вот set sFile ../12345/123.txt уже не работает. мне нужен только относительный путь касательно запускаемого бантика. заранее спасибо.
-
mactepcepbep@vk
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Цитата Iska:
Код:
Возможно ли сделать так, чтобы после этого кода можно было написать другой еще? Просто есть код, который обязательно должен быть в конце.
После more можно ли указать точное количество строк, которое надо скопировать? или такого функционала нет?
Код:
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
set sFile=BigText.txt
more +10 "%~0">"%sFile%"
endlocal
exit /b 0
Создаем большой текст
Весь текст в батнике
Здесь очень много строк
Так можно и спецсимволы :^)
`~!@#$%^&*()_+|\/.,;:'"
Три пустые строки
Последняя строкаCMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Возможно ли сделать так, чтобы после этого кода можно было написать другой еще? Просто есть код, который обязательно должен быть в конце.
После more можно ли указать точное количество строк, которое надо скопировать? или такого функционала нет?
-
mactepcepbep@vk
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Цитата V!RTuE:
такого функционала нет
Можно написать с заменой More на вывод Echo в цикле, тогда возможны проблемы со спецсимволами. У Вас что в тексте?
Цитата V!RTuE:
Просто есть код, который обязательно должен быть в конце.
Почему, что, его нельзя оформить процедурой и вставить перед выводимым текстом? Как пример:
Код:
такого функционала нет
CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Можно написать с заменой More на вывод Echo в цикле, тогда возможны проблемы со спецсимволами. У Вас что в тексте?
Цитата V!RTuE:
Просто есть код, который обязательно должен быть в конце.
CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Почему, что, его нельзя оформить процедурой и вставить перед выводимым текстом? Как пример:
Код:
Код: Выделить всё
@Echo Off
cls
Set "FileOut=Z:\Box_In\BigText.txt"
Set /A N=10000000
FOR /F "usebackq tokens=1 delims=[]" %%i In (`Find /N ":My_Out_Text" "%~dpnx0"`) DO Set /A N=%%i
>"%FileOut%" more +%N% "%~dpnx0"
Echo 1. Тут можно продолжать писать код
Call :MyCode
Echo 2. Тут можно продолжать писать код
pause
Exit /b 0
:MyCode
Echo Просто есть код, который НЕ обязательно должен быть в конце.
Exit /B
:My_Out_Text
Создаем большой текст
Весь текст в батнике
Здесь очень много строк
Так можно и спецсимволы :^)
`~!@#$%^&*()_+|\/.,;:'"
Три пустые строки
Последняя строка-
megaloman
Re: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Цитата megaloman:
Можно написать с заменой More на вывод Echo в цикле, тогда возможны проблемы со спецсимволами. У Вас что в тексте?
Спецсимволов полно. Текст более 200 строк. Содержимое файла openssl-1.0.0.cnf (программы OpenVPN)
Цитата megaloman:
Почему, что, его нельзя оформить процедурой и вставить перед выводимым текстом?
Нельзя, так как используется
В принципе уже задачу решил, но не копируются пустые строки (в данном случае абсолютно не критично), но для красоты хотелось бы. Да и просто на будущее знать как можно реализовать подобную задачу.
Вот рабочий код. Реализовано через поиск начальной и конечной строки
Код:
P.S.: это часть моего проекта по автоматизации работы с OpenVPN на Windows. Подобных решений нигде не встречал еще
Скрытый текст
[spoiler]
[/spoiler]
Можно написать с заменой More на вывод Echo в цикле, тогда возможны проблемы со спецсимволами. У Вас что в тексте?
CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Спецсимволов полно. Текст более 200 строк. Содержимое файла openssl-1.0.0.cnf (программы OpenVPN)
Цитата megaloman:
Почему, что, его нельзя оформить процедурой и вставить перед выводимым текстом?
CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat
Нельзя, так как используется
CMD/BAT - [решено] Как пользоваться ключем /A команды Findstr
. Там обязательное условие, что он должен быть в конце.В принципе уже задачу решил, но не копируются пустые строки (в данном случае абсолютно не критично), но для красоты хотелось бы. Да и просто на будущее знать как можно реализовать подобную задачу.
Вот рабочий код. Реализовано через поиск начальной и конечной строки
Код:
Код: Выделить всё
...
:Createopensslcnf
:: Обязательно должно быть в начале батника или здесь @echo off, иначе некорректно экспортируется текст
:: Допустимо в начале указать @echo on, а в этой части @echo off
@echo off
Set "FileIn=%~0"
Set "Key1=# For use with easy-rsa version 2.0 and OpenSSL 1.0.0*"
Set "Key2=init = 0"
FOR /F "usebackq skip=2 tokens=1 delims=[]" %%i In (`Find /N /I "%Key1%" "%FileIn%"`) DO Set /A N=%%i-1
>"%KEY_CONFIG%" (FOR /F "usebackq delims=" %%i In (`More +%N% "%FileIn%"`) DO (
Echo %%i|Find /I /V "%Key2%"||(<nul Set /P Str=%%i&Exit /B 0)
))
GoTo :EOF
# For use with easy-rsa version 2.0 and OpenSSL 1.0.0*
...
...
init = 0
:: ----------------------------------------
...P.S.: это часть моего проекта по автоматизации работы с OpenVPN на Windows. Подобных решений нигде не встречал еще
Скрытый текст
[spoiler]
[/spoiler]