如何使批处理文件编辑文本文件,用户想要的同时显示正在编辑的内容



我目前正在创建一个批处理文件的文字处理软件。我想知道是否有人知道如何在屏幕上显示文本,以便用户可以编辑它。我已经有了一个用于创建、查看和删除文件的系统,但是编辑现有文件却把我难住了。这是批处理文件的代码:

@echo off
title Word Processor
:MAIN
cls
echo Type help for help
set /p input=Command-
if %input%==view goto view
if %input%==new goto new
if %input%==exit exit
if %input%==edit goto edit
if %input%==help goto help
if %input%==delete goto delete
:new
cls
set /p words=Type-
set /p name=Name-
echo %words% >> %name%.txt
pause >nul
goto MAIN
:view
cls
set /p file=File to open (without .txt)-
cls
type %file%.txt
pause >nul
goto MAIN
:help
cls
type help.txt
pause >nul
goto MAIN
:edit
cls
echo Not Yet Implemented
pause >nul
exit
:delete
cls
set /p del=File to Delete-
del %del%.txt
echo Deleted...
pause >nul
goto MAIN

你可以在VBScript的帮助下完成。

VBScript看起来像这样

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(WScript.Arguments(0), 1)
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)
    WshShell.SendKeys strCharacters
Loop

保存为send.vbs,批处理文件的编辑部分如下所示

set /p file=File to edit-
cscript.exe rep.vbs %file%
set /p input=
echo %input% >%file%

基本上,你得到你想要编辑的文件,并使用该文件作为参数调用VBScript。批处理文件然后落到下一行,这是另一个等待输入的set /p

然后当VBScript运行时,它读取你选择的文件并通过SendKeys发送字符,这就像模拟按键。

字符最终被粘贴到控制台,所以你可以编辑它,但你喜欢。当你按enter键时,编辑被保存到变量中,它会用新的编辑覆盖文件。

或者你可以使用cmd的内置文本编辑器edit,它有各种各样的gui,用户可以使用它来编辑和保存他们的文件。

只要输入editedit %file%就可以使用它。

希望能有所帮助

试试这个:

编辑file.txt

这可能是你想要的

这是一个16位的程序,它几乎和记事本一样

相关内容

  • 没有找到相关文章

最新更新