批处理文件错误

时间:2014-11-11 15:42:32

标签: file batch-file

当我运行以下批处理文件时,它会显示一个错误,即#34;目录名称无效。"记事本和其他人的.exe文件实际上在System32文件夹中。我不知道如何写路径:

@echo off
CLS
:Menu
ECHO.

ECHO...............................................
ECHO PRESS 1, 2 to select your task; or 3 to exit
ECHO...............................................
EcHO.

ECHO 1 - OPEN NOTEPAD
ECHO 2 - OPEN WRITE
ECHO 3 - OPEN EXIT
ECHO.

SET /p M=Type 1,2, or 3 then press enter:
IF %M% == 1 GOTO NOTEPAD
IF %M% == 2 GOTO WRITE
IF %M% == 3 GOTO EOF
:NOTEPAD
cd %windir%\notepad.exe
start notepad.exe
GOTO MENU
:WRITE
cd %windir%\write.exe
start write.exe
GOTO MENU

由于 肯

2 个答案:

答案 0 :(得分:0)

您不能cd到文件,只能是目录。由于它们位于System32文件夹中,因此它们已经位于系统路径中,因此您甚至不需要cd到该目录。

@echo off
CLS
:Menu
ECHO.

ECHO...............................................
ECHO PRESS 1, 2 to select your task; or 3 to exit
ECHO...............................................
EcHO.

ECHO 1 - OPEN NOTEPAD
ECHO 2 - OPEN WRITE
ECHO 3 - OPEN EXIT
ECHO.

SET /p M=Type 1,2, or 3 then press enter:
IF %M% == 1 GOTO NOTEPAD
IF %M% == 2 GOTO WRITE
IF %M% == 3 GOTO EOF
:NOTEPAD
start notepad.exe
GOTO MENU
:WRITE
start write.exe
GOTO MENU

答案 1 :(得分:0)

如果您想让事情变得混乱,可以使用以下命令:

@echo off
CLS
set %mydir%=C:\Windows\System32
:Menu
ECHO.
ECHO...............................................
ECHO PRESS 1, 2 to select your task; or 3 to exit
ECHO...............................................
EcHO.

ECHO 1 - OPEN NOTEPAD
ECHO 2 - OPEN WRITE
ECHO 3 - OPEN EXIT
ECHO.

SET /p M=Type 1,2, or 3 then press enter:
IF %M% == 1 GOTO NOTEPAD
IF %M% == 2 GOTO WRITE
IF %M% == 3 GOTO EOF
:NOTEPAD
start %mydir%\notepad.exe
GOTO MENU
:WRITE
start %mydir%\write.exe
GOTO MENU
:EOF
PAUSE
EXIT

我注意到的另一个问题是你没有:EOF脚本......这有用吗?