Batch file 批处理文件net用于变量if的输出
我有在windows中用批处理文件映射驱动器的代码,我使用nik和密码等参数。然后,如果用户和密码匹配,程序将给出输出“成功”,否则程序将给出输出“某些错误”。输出成功的参数和我使用for DO和FIND从网络中得到的一些错误 @MC-ND 这里 我的问题在插入密码后,程序总是发送输出“命令的语法不正确” 有人能帮我吗?如果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位于
,则(
必须与其关联的位于同一物理线路上
同样的评论也适用于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/?
和&&
:|
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