【发布时间】:2015-04-20 12:01:18
【问题描述】:
我是批处理脚本的初学者,我正在尝试制作一个可以打印所有电话号码、添加、删除和搜索电话号码的电话寄存器,但我无法让它正常工作,我想知道我去了哪里错误的。代码在下面,在此先感谢。
echo Print out all content ^<1^>
echo Add a new number ^<2^>
echo Delete a number ^<3^>
echo Search ^<4^>
echo Exit ^<5^>
set /p val="Choose between 1-5: "
GOTO CASE_%val%
:CASE_1 for /f "tokens=*" %%a in
(telephoneregister.txt) do
( echo %%a )
GOTO END_SWITCH
:CASE_2 echo "Number: " set /p p1="Nr"
echo %p1% >> %output%\telephoneregister.txt
GOTO END_SWITCH
:CASE_3 echo "Which number would you like to delete? "
set /p num="Telephoneregister"
type telephoneregister.txt | findstr /v %num% >telephoneregister.txt del /s telephoneregister.txt
type telephoneregister.txt > tele.txt del /s tele1.txt
GOTO END_SWITCH
:CASE_4 set /p n1="Number: "
findstr %n1% telephoneregister.txt
GOTO END_SWITCH
:CASE_5 exit 0
GOTO END_SWITCH
:END_SWITCH
pause
【问题讨论】:
-
@shellter
^转义了以下特殊字符,因此它被打印而不是执行。所以这些线没问题。但是:CASE_3中的行似乎很乱(文件名不匹配,并且可能缺少换行符)
标签: windows shell batch-file cmd