Ordnerpfade in Win7 funzen nicht zum Server hin!

  • Hallo

    In meinem Script, das unter WinXP funktioniert, aber nicht in Win7, funktioniert das shellexecute nicht mehr zum Serverpfad!
    Gestartet wird das Programm von C:\ ( Mein PC) und soll auf L:\ (Serverpfad) in Ordner springen.
    Wie kann man das wieder zum Laufen bekommen?

    [autoit]

    $OrdAngAlt = "L:\G...\KIen....\ANGEBOT "&$ljl&"\"
    ...
    Case $Jump1a
    ShellExecute($OrdAngAlt, "", "", "open")
    ...

    [/autoit]


    Das ganze Script:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #RequireAdmin
    #include <EditConstants.au3>
    #include <File.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiEdit.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $OrdAngAlt, $OrdAufAlt, $OrdAltlj, $OrdAng12, $OrdAuf12, $OrdJahrdj, $m1, $m2, $m2a, $m3, $m4z, $mfe, $ljl, $lj, $dj
    $ljl = (@YEAR-1)
    $lj = StringTrimLeft(@YEAR, 2)-1
    $dj = StringTrimLeft(@YEAR, 2)
    $OrdAngAlt = "L:\G...\KIen....\ANGEBOT "&$ljl&"\"
    $OrdAufAlt = "L:\G...\KIen....\AUFTRAG "&$ljl&"\"
    $OrdAltlj = "L:\G...\KIen....\alte Aufträge "&$ljl&"\"
    $OrdAng12 = "L:\G...\KIen....\ANGEBOT "& @YEAR &"\"
    $OrdAuf12 = "L:\G...\KIen....\AUFTRAG "& @YEAR &"\"
    $OrdJahrdj = "L:\G...\KIen....\alte Aufträge "& @YEAR &"\"
    $m1 = "Fehlermeldung!"
    $m2 = "Der Ordner ist nicht da!"
    $m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
    $m3 = "Leider ist er auch hier nicht da!"
    $mfe = "Falsche Eingabe..."
    $m4z = "Bitte 4 Zahlen eingeben!"

    [/autoit] [autoit][/autoit] [autoit]

    Global $hSendFocus
    $hGui = GUICreate("Ordner-Springer " & @YEAR, 400, 145)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~

    [/autoit] [autoit][/autoit] [autoit]

    If Not @Compiled Then GUISetIcon('Ordner1.ico')
    GUICtrlCreateTab(0, 0, 400, 145)
    GUICtrlCreateTabItem("Ordner-Springer")
    GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01 + 0x0200)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetBkColor(-1, 0xC7FA21);D6FA83
    GUICtrlCreateLabel("|", 200, 21, 2, 124, 0x11)

    [/autoit] [autoit][/autoit] [autoit]

    Local $Jump1, $Jump1a, $Input1
    GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("01-", 42, 58, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    GUICtrlCreateLabel("-"&$lj, 102, 58, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner "&$ljl&" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
    $Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner "&$ljl&" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4

    [/autoit] [autoit][/autoit] [autoit]

    Local $Input2, $Jump2, $Jump2a
    GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("02-", 42, 113, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    GUICtrlCreateLabel("-"&$lj, 102, 113, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner "&$ljl&" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
    $Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner "&$ljl&" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Local $Input3, $Jump3, $Jump3a
    GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
    $Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("01-", 247, 58, 20, 13)
    GUICtrlCreateLabel("-"&$dj, 307, 58, 20, 13)
    $Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner "& @YEAR &" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
    $Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner "& @YEAR &" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Local $Input4, $Jump4, $Jump4a
    GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
    $Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("02-", 247, 113, 20, 13)
    GUICtrlCreateLabel("-"&$dj, 307, 113, 20, 13)
    $Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner "& @YEAR &" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
    $Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner "& @YEAR &" springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateTabItem("Neue Ordner")
    ;~ GUICtrlSetState(-1, $GUI_SHOW); will be display first
    GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01 + 0x0200)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetBkColor(-1, 0xC7FA21);D6FA83

    [/autoit] [autoit][/autoit] [autoit]

    Local $InputAngVon, $InputAngBis, $Create_Ang
    GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
    GUICtrlCreateLabel("von:", 32, 57, 25, 13)
    GUICtrlCreateLabel("01-", 60, 57, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("-"&$dj, 115, 57, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
    GUICtrlCreateLabel("01-", 165, 57, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("-"&$dj, 219, 57, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
    GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
    $Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner "& @YEAR &" öffnen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Local $InputAufVon, $InputAufBis, $Create_Auf
    GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
    GUICtrlCreateLabel("von:", 32, 117, 25, 13)
    GUICtrlCreateLabel("02-", 60, 117, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("-"&$dj, 115, 117, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
    GUICtrlCreateLabel("02-", 165, 117, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 4)
    GUICtrlCreateLabel("-"&$dj, 219, 117, 20, 13)
    GUICtrlSetColor(-1, 0x7C7C7C)
    $Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
    GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
    $Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner "& @YEAR &" öffnen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    Global $hReturnDummy = GUICtrlCreateDummy()
    GUICtrlSetOnEvent($hReturnDummy, "_Enter")
    Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
    GUISetAccelerators($Accels)
    GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
    ;~ GUICtrlSetState($Input4, $GUI_FOCUS)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Switch $msg

    [/autoit] [autoit][/autoit] [autoit]

    Case $GUI_EVENT_CLOSE
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump1
    _go1()

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump1a
    ShellExecute($OrdAngAlt, "", "", "open")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump2
    _go2()

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump2a
    ShellExecute($OrdAltlj, "", "", "open")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump3
    _go3()

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump3a
    ShellExecute($OrdAng12, "", "", "open")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump4
    _go4()

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump4a
    ShellExecute($OrdJahrdj, "", "", "open")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Create_Ang
    Local $ReadAngVon = GUICtrlRead($InputAngVon)
    Local $ReadAngBis = GUICtrlRead($InputAngBis)
    Local $LenAngVon = StringLen($ReadAngVon)
    Local $LenAngBis = StringLen($ReadAngBis)
    If ($LenAngVon < 4) Or ($LenAngBis < 4) Then
    MsgBox(48, "Falsche Eingabe...", "Bitte 4 Zahlen eingeben!", 3)
    Else
    For $AngEingZahl = $ReadAngVon To $ReadAngBis
    $AngOrdnerNum = $OrdAng12 & "01-" & StringFormat("%04d", $AngEingZahl) & "-" & $dj

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($AngOrdnerNum) Then
    MsgBox(262192, "Fehler!", "Die Datei " & $AngOrdnerNum & " existiert schon!" & @CRLF & @CRLF _
    & "Bitte die nächsthöhere Ordnerzahl angeben!")
    ExitLoop
    Else
    DirCreate($AngOrdnerNum)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $Create_Auf
    Local $ReadAufVon = GUICtrlRead($InputAufVon)
    Local $ReadAufBis = GUICtrlRead($InputAufBis)
    Local $LenAufVon = StringLen($ReadAufVon)
    Local $LenAufBis = StringLen($ReadAufBis)
    If ($LenAufVon < 4) Or ($LenAufBis < 4) Then
    MsgBox(48, "Falsche Eingabe...", "Bitte 4 Zahlen eingeben!", 3)
    Else
    For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
    $AufOrdnerNum = $OrdAuf12 & "02-" & StringFormat("%04d", $AufEingZahl) & "-" & $dj

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($AufOrdnerNum) Then
    MsgBox(262192, "Fehler!", "Die Datei " & $AufOrdnerNum & " existiert schon!" & @CRLF & @CRLF _
    & "Bitte die nächsthöhere Ordnerzahl angeben!")
    ExitLoop
    Else
    DirCreate($AufOrdnerNum)
    EndIf
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump2OrdAng12
    ShellExecute($OrdAng12, "", "", "open")
    If WinWaitActive("ANGEBOT " & @YEAR) Then
    Send("{END}")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $Jump2OrdAuf12
    ShellExecute($OrdAuf12, "", "", "open")
    If WinWaitActive("AUFTRAG " & @YEAR) Then
    Send("{END}")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $hReturnDummy
    _Enter()
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Enter()
    Switch $hSendFocus
    Case $Input1
    _go1()
    _GUICtrlEdit_SetSel($Input1, 0, 4)
    Case $Input2
    _go2()
    _GUICtrlEdit_SetSel($Input2, 0, 4)
    Case $Input3
    _go3()
    _GUICtrlEdit_SetSel($Input3, 0, 4)
    Case $Input4
    _go4()
    _GUICtrlEdit_SetSel($Input4, 0, 4)
    EndSwitch
    EndFunc ;==>_Enter

    [/autoit] [autoit][/autoit] [autoit]

    Func _go1()
    If Not FileExists($OrdAngAlt & '01-' & GUICtrlRead($Input1) & "-"&$lj) Then
    MsgBox(64, $m1, $m2, 2)
    Else
    ShellExecute('01-' & GUICtrlRead($Input1) & "-"&$lj, "", $OrdAngAlt, "open")
    EndIf
    EndFunc ;==>_go1

    [/autoit] [autoit][/autoit] [autoit]

    Func _go2()
    If Not FileExists($OrdAufAlt & '02-' & GUICtrlRead($Input2) & "-"&$lj) Then
    If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
    Else
    If Not FileExists($OrdAltlj & '02-' & GUICtrlRead($Input2) & "-"&$lj) Then
    MsgBox(64, $m1, $m3, 2)
    Else
    ShellExecute('02-' & GUICtrlRead($Input2) & "-"&$lj, "", $OrdAltlj, "open")
    EndIf
    EndIf
    Else
    ShellExecute('02-' & GUICtrlRead($Input2) & "-"&$lj, "", $OrdAufAlt, "open")
    EndIf
    EndFunc ;==>_go2

    [/autoit] [autoit][/autoit] [autoit]

    Func _go3()
    If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & "-"&$dj) Then
    MsgBox(64, $m1, $m2, 2)
    Else
    ShellExecute('01-' & GUICtrlRead($Input3) & "-"&$dj, "", $OrdAng12, "open")
    EndIf
    EndFunc ;==>_go3

    [/autoit] [autoit][/autoit] [autoit]

    Func _go4()
    If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & "-"&$dj) Then
    If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
    Else
    If Not FileExists($OrdJahrdj & '02-' & GUICtrlRead($Input4) & "-"&$dj) Then
    MsgBox(64, $m1, $m3, 2)
    Else
    ShellExecute('02-' & GUICtrlRead($Input4) & "-"&$dj, "", $OrdJahrdj, "open")
    EndIf
    EndIf
    Else
    ShellExecute('02-' & GUICtrlRead($Input4) & "-"&$dj, "", $OrdAuf12, "open")
    EndIf
    EndFunc ;==>_go4

    [/autoit] [autoit][/autoit] [autoit]

    Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom = $ilParam
    Local $iCode = _WinAPI_HiWord($iwParam)
    Local $hWndEdit1 = GUICtrlGetHandle($Input1)
    Local $hWndEdit2 = GUICtrlGetHandle($Input2)
    Local $hWndEdit3 = GUICtrlGetHandle($Input3)
    Local $hWndEdit4 = GUICtrlGetHandle($Input4)
    Switch $hWndFrom
    Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
    Switch $iCode
    Case $EN_SETFOCUS
    Switch $hWndFrom
    Case $hWndEdit1
    $hSendFocus = $Input1
    Case $hWndEdit2
    $hSendFocus = $Input2
    Case $hWndEdit3
    $hSendFocus = $Input3
    Case $hWndEdit4
    $hSendFocus = $Input4
    EndSwitch
    Case Else
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_WM_COMMAND

    [/autoit]

    Einmal editiert, zuletzt von Fintan (18. April 2012 um 17:55)

  • Ich gehe davon aus, das das Laufwerk "L:" ein Netzlaufwerk ist.

    Da Du am Scriptanfang #RequireAdmin verwendest, wird das Script aber unter einem anderen User ausgeführt, wenn Du nicht Admin bist. Dieser andere User hat aber DEIN (jeder angemeldete User hat seine eigenen) Netzlaufwerk "L:" nicht !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"