Batch file 批处理文件net用于变量if的输出

Batch file 批处理文件net用于变量if的输出,batch-file,for-loop,if-statement,findstr,net-use,Batch File,For Loop,If Statement,Findstr,Net Use,我有在windows中用批处理文件映射驱动器的代码,我使用nik和密码等参数。然后,如果用户和密码匹配,程序将给出输出“成功”,否则程序将给出输出“某些错误”。输出成功的参数和我使用for DO和FIND从网络中得到的一些错误 @MC-ND 这里 我的问题在插入密码后,程序总是发送输出“命令的语法不正确” 有人能帮我吗?如果,则(必须与其关联的位于同一物理线路上 同样的评论也适用于do 而else必须是)else( 无if、buts或maybes(经验更丰富的用户除外…该(必须与其关联的if位于

我有在windows中用批处理文件映射驱动器的代码,我使用nik和密码等参数。然后,如果用户和密码匹配,程序将给出输出“成功”,否则程序将给出输出“某些错误”。输出成功的参数和我使用for DO和FIND从网络中得到的一些错误

@MC-ND

这里

我的问题在插入密码后,程序总是发送输出“命令的语法不正确”

有人能帮我吗?

如果
,则
必须与其关联的
位于同一物理线路上

同样的评论也适用于
do

else
必须是
)else(

无if、buts或maybes(经验更丰富的用户除外…

必须与其关联的
if
位于同一物理线路上)

同样的评论也适用于
do

else
必须是
)else(


无if、buts或maybes(除了更有经验的用户…)

以下代码段中更正了一些错误(必要时进行注释):

另一种方法是使用
choice.exe
net.exe
设置的
ERRORLEVEL
进行较少的转到
s:

@ECHO OFF
SETLOCAL
:MENU
Title MyTitle

Echo --------------- MENU -----------------------
Echo Press 1 for start or reload program.
Echo Press 0 for exit.
Echo Choose:

CHOICE /C 10 /M "Press 1 for start or reload program, 0 for exit."
IF errorlevel 2 GOTO EXIT

:FORM_QMR
Echo ---------- Fill this Form (%userdomain%) ----------
SET /p nik="Insert Your ID :"
SET /p passwd="Insert Your Password :"

IF %userdomain% == DOMAIN ( 
     set "_shar=\\myserver\Path01\Path02"
     set "_user=/User:domain\%nik%"
) else (
     set "_shar=\\192.168.1.1\Path01\Path02"
     set "_user=/User:domain\%nik%"
)

>NUL 2>&1 NET USE "%_shar%" %_user% "%passwd%"&&SET "ACTSTATUS=OK"||SET "ACTSTATUS=BAD"

IF "%ACTSTATUS%"=="BAD" (
    Echo "Some error found, please contact administrator."
    GOTO FORM_QMR
) else (
    Echo "Success."
)
:EXIT
说明:

  • ,另请参见
    choice/?
  • &&
    |

以下代码片段中更正了一些错误(必要时进行注释):

另一种方法是使用
choice.exe
net.exe
设置的
ERRORLEVEL
进行较少的转到
s:

@ECHO OFF
SETLOCAL
:MENU
Title MyTitle

Echo --------------- MENU -----------------------
Echo Press 1 for start or reload program.
Echo Press 0 for exit.
Echo Choose:

CHOICE /C 10 /M "Press 1 for start or reload program, 0 for exit."
IF errorlevel 2 GOTO EXIT

:FORM_QMR
Echo ---------- Fill this Form (%userdomain%) ----------
SET /p nik="Insert Your ID :"
SET /p passwd="Insert Your Password :"

IF %userdomain% == DOMAIN ( 
     set "_shar=\\myserver\Path01\Path02"
     set "_user=/User:domain\%nik%"
) else (
     set "_shar=\\192.168.1.1\Path01\Path02"
     set "_user=/User:domain\%nik%"
)

>NUL 2>&1 NET USE "%_shar%" %_user% "%passwd%"&&SET "ACTSTATUS=OK"||SET "ACTSTATUS=BAD"

IF "%ACTSTATUS%"=="BAD" (
    Echo "Some error found, please contact administrator."
    GOTO FORM_QMR
) else (
    Echo "Success."
)
:EXIT
说明:

  • ,另请参见
    choice/?
  • &&
    |

1)请,发布代码,而不是图像,2)应该有帮助。1)请,发布代码,而不是图像,2)应该有帮助。原因:common总是返回成功???@ikwijaya我的疏忽,对不起
2^>NUL
而不是
2^>^&1
应该有效。原因:common总是返回成功???@ikwijaya我的疏忽,抱歉
2^>NUL
而不是
2^>^&1
应该可以工作。
@ECHO OFF
SETLOCAL
:MENU
Title MyTitle

Echo --------------- MENU -----------------------
Echo Press 1 for start or reload program.
Echo Press 0 for exit.
Echo Choose:

CHOICE /C 10 /M "Press 1 for start or reload program, 0 for exit."
IF errorlevel 2 GOTO EXIT

:FORM_QMR
Echo ---------- Fill this Form (%userdomain%) ----------
SET /p nik="Insert Your ID :"
SET /p passwd="Insert Your Password :"

IF %userdomain% == DOMAIN ( 
     set "_shar=\\myserver\Path01\Path02"
     set "_user=/User:domain\%nik%"
) else (
     set "_shar=\\192.168.1.1\Path01\Path02"
     set "_user=/User:domain\%nik%"
)

>NUL 2>&1 NET USE "%_shar%" %_user% "%passwd%"&&SET "ACTSTATUS=OK"||SET "ACTSTATUS=BAD"

IF "%ACTSTATUS%"=="BAD" (
    Echo "Some error found, please contact administrator."
    GOTO FORM_QMR
) else (
    Echo "Success."
)
:EXIT