0

我正在尝试制作一个批处理文件,其中用户输入一个字母,然后会有消息显示驱动器号可用或不可用。如果这封信可用,那么它将替换 c:\users ..... 我是新手,所以任何帮助都会很棒。这就是我所拥有的,这是不正确的

@echo off





if  [%1] == [c]GOTO MESS
if [%1]== [d]  GOTO MESS

If NOT [%1]==[c] GOTO LABEL
If not [%1]==[d} GOTO LABEL
:LABEL
echo this drive letter is available
pause
subst %1: "c:\users\mydocuments"
echo Successful

:MESS
echo The drive letter you entered is in use 

:END 
4

2 回答 2

0

调用该subst命令后,您可以检查 %errorlevel% 变量。大多数命令在成功时将此变量设置为 0,并将其设置为 0 以外的值以表示问题。

subst %1: "c:\users\mydocuments"
if NOT [%errorlevel%]==[0] GOTO MESS

不需要 GOTO LABEL 行。您与 GOTO MESS 的支票就足够了。

于 2013-10-20T22:30:17.143 回答
0

尝试这个:

@echo off
if exist %1:\ (
     echo Drive %1: is in already in use
  ) else (
     subst %1: "c:\users\mydocuments"
     echo Successful
)
于 2013-10-21T02:49:40.943 回答