2

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

@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
4

2 回答 2

0

尝试这个:

编辑文件.txt

这也许是你想要的

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

于 2013-07-18T06:55:13.130 回答
0

您可以在 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,就像模拟击键一样。

字符最终被粘贴到控制台上,因此您可以随意编辑它。当您按下回车键时,编辑将保存到变量中,并用新的编辑覆盖文件。

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

只需键入editedit %file%使用它。

希望这可以帮助

于 2012-12-21T15:18:54.423 回答