Что нового

@error всегда равен 0

Tuxzer92

Новичок
Сообщения
65
Репутация
0
При выполнении данной команды:
Код:
$CMD2=@ComSpec & " /c " & "net use " & $Path & " /user:" & $login & " " & $Pass & " && net use /delete " & $Path & " && pause"
RunWait($CMD2)

всегда возвращается 0. Т.е. если я не правильно указал данные для подключения, то все равно 0.
Как проверять на правильность ввода данных?

Весь код:

Код:
#include <File.au3>
$Server1="server3"
$Server2="fs-1c"
$Header="RegCom v.1.0"

If Ping($Server1,1) Then
   $Host=$Server1
ElseIf Ping($Server2,1) Then
   $Host=$Server2
Else
   MsgBox(0,$Header,$Server1 & "и" & $Server2 & "не пингуются! Выход.")
   Exit
EndIf

$Path="\\"& $Host & "\1cv8"
$sPath = FileSelectFolder($Header & ' - Выберите каталог с нужной платформой', $Path, 3)
if @error = 1 then
   Exit
EndIf
$sPath=$sPath & "\bin\"
$DllFile=$sPath & "comcntr.dll"
$sUserName = "Администратор"

$loginmsg=@CRLF&@CRLF &"Введите логин"
$passmsg=@CRLF&@CRLF &"Введите пароль"
$msginputbox="Введите логин и пароль от доменной учетной записи:"

If (@error = 0) Then
	  $msg = $msginputbox
   Else
	  $msg = "Неправильно, повторите:"
   EndIf
   $login = InputBox($Header, $msg & $loginmsg,"fgup-ycct6\","")
   $Pass = InputBox($Header, $msg & $passmsg, "", "*")
   $CMD2=@ComSpec & " /c " & "net use " & $Path & " /user:" & $login & " " & $Pass & " && net use /delete " & $Path & " && pause"
RunWait($CMD2)
MsgBox(0,"",@error)
 

Rouzenrot

Новичок
Сообщения
30
Репутация
0
Если я правильно понимаю, то вы с помощью командной строки подключаете сетевой диск?
Почему бы не использовать
Код:
DriveMapAdd

Вот у него, в отличии от @ComSpec есть обработчик ошибок
 
Верх