2012-12-21 64 views
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 
+0

爲什麼不在記事本中打開它? –

+0

因爲我想整個體驗都在批處理文件中,所以你不用記事本打開word文檔嗎?我希望用戶能夠對所選文本文件進行任何操作。 –

+0

你需要一個文本編輯程序。在舊的DOS時代,你使用了「edlin」。在Windows中,最基本的文本編輯器是記事本。我認爲你需要多瞭解一些操作系統的工作原理。 –

回答

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%即可使用它。

希望這有助於

+0

當它編輯文件時,它不顯示原文的內容。這與使用我的「新」部分保存具有相同名稱的文件相同,該文件將覆蓋以前的文件。這很有幫助,但它如何在原始文件中顯示這些單詞,並讓您使用屏幕上的界面進行編輯? –

0

試試這個:

編輯FILE.TXT

這也許什麼ü想

這是一個16位程序,它幾乎是完全一樣的記事本