PDA

Показать полную графическую версию : чтение строк из файла и последующая вставка этих строк в copy con file.txt


sermister1
11-06-2020, 10:10
Делаю простой редактор текста на bat файле. Если в папке уже есть файл file.txt, то он перезапишется, а можно как-то читать строки из этого файла, и вставлять их в copy con file.txt? Вот код: (в нашем случае data=file.txt)
@Echo off
chcp 1251

:m1
Echo Create or exit text editor:
Echo.
Echo 1 - Create - 1
Echo 2 - Exit - 2


echo.
Set /p choice="one?: "
if not defined choice goto m1
if "%choice%"=="1" (goto gg)
if "%choice%"=="2" (exit)
Echo.
Echo.
:gg
set /p Data="Enter file name: "
cls
echo %data%
echo ctrl+z and enter to quit
echo to support russian text change console font to lucida console
copy con %data%

greg zakharov
11-06-2020, 13:01
nano, vim, micro? Не слышали? Или изобретение квадратных колес принципиально? Можно имитировать нечто вроде временного буфера, перенаправляя в т.н. предупредительный поток ( >3) , однако, при возникновении некритической ошибки, он будет перезаписан, раз, достать из такого потока данные через пайп можно, но время жизни извлеченных данных будет ограничено вызовом, два. con едва ли вам чем-то поможет, ибо весь фокус именно в буферах (не нужно путать с женской грудью). Есть, правда, один хак, но он не нравится ни одному из антивирусов.

sermister1
11-06-2020, 13:08
nano, vim, micro? Не слышали? »
Да я свой редактор делаю, как для начала, так я все эти знаю
Какой хак? Редактор для себя делаю, поэтому пофиг на антивирусы.

greg zakharov
11-06-2020, 14:08
Раз пофиг, то имитируйте буфер на основе ADS с таблицей сигналов из COM порта.

sermister1
11-06-2020, 14:23
буфер на основе ADS с таблицей сигналов из COM порта »
Поподробнее?

greg zakharov
11-06-2020, 15:46
При открытии файла создаете у последнего альтернативный поток, куда дублируется основной поток - он то и правится не в ущерб оригинальным данным; СОМ, как было сказано выше, используете для таблицы сигналов (вне форумная тема).




© OSzone.net 2001-2012