Verzeicnisse kopieren nach @AppDataDir. wie ??

  • Hallo zusammen,

    ich muss bei uns vom Server ein Verzeichnis( inkl. Unterverzeicnissen und Dateien) auf die lokalen Rechner kopieren. Und zwar nach "C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\. Also immer ins Profil des gerade angemeldeten Users. Im Skript benutze ich dazu die Variable @AppDataDir. Das funktioniert bis dato leider nicht. Ich bin sozusagen am verzweifeln. hab schon soviel probiert. nix klappt. er kopiert einfach nix.
    Vielleicht kann mir hier jemand helfen. und der blöde termindruck zum verteilen der software tun sein übriges. Unten angehängt habe ich das was ich bis jetzt gemacht habe.


    $Amt = "\\asvxxnwf01\vol02\install\Netop9_guest\Netop9\"
    $app = @AppDataDir
    $Programm = "Netop 9 Guest"

    MsgBox(0, "Netop", $Programm & " wird jetzt installiert. " & @CRLF & @CRLF & "Während der Installation sind Tastatur und Maus gesperrt !!"
    & @CRLF & @CRLF & "Zur Fortsetzung der Installation bitte mit OK bestätigen !! Danach wird der Rechner NEU GESTARTET")

    RunWait("xcopy " & $Amt &"config "&'"'& $app &'\Netop Remote Control2\GUEST\" /s /r /h /y /e',"",@SW_HIDE)

  • Also bei mir funktioniert der Teil. Vielleicht solltest du den Netzwerkpfad mappen. Ich könnte mir vorstellen das xcopy damit ein Problem hat. Führt er den Befehl in der Kommando-Zeile aus?

  • damit :

    RunWait($Amt & "setup.cmd")

    und mit der cmd mit diesem inhalt:

    cmd /c xcopy \\asvxxnwf01\vol02\install\netop9_guest\netop9\config\*.* "%APPDATA%\Netop Remote Control2\Guest\" /E /S /Y


    gehts auch net . ich verstehs net.

  • Also ich würde deine Pfade mal überprüfen (auch die Rechte). Deine erste Version (ohne cmd) funktioniert auch mit Netzwerkpfaden. Außerdem würde ich den Befehl nochmal in der Kommodo-Zeile ohne 'cmd /c' ausführen und prüfen ob er was macht (also das Problem am Befehl oder an AutoIT liegt).

    Edit : Lass mal den letzten Slash bei $Amt weg. Das scheint das Problem zu sein.

    Einmal editiert, zuletzt von JanSchmidt (14. März 2007 um 12:03)

  • ne, das wars leider auch net. :weinen:

    aaaaaber.........mit diesem befehl, allerdings vom usb stick lokal in einer cmd ausgeführt,
    das geht ohne probleme:

    xcopy \\asvdinwf01\vol02\install\netop9_guest\netop9\config\*.* "%APPDATA%\Netop Remote Control\Guest\" /E /S /Y

    am gleichen testrechner.

    die frage die sich mir stellt ist.
    wieso geht der aufruf manuell ohne probleme und mit autoit nicht.
    auch nicht wenn ich im autoit die "setup.cmd" aufrufe.

    ich raff nix mehr :hammer:

    • Offizieller Beitrag

    Hi!

    Habe jetzt nur mal grob überflogen, aber schon mal ShellExecute(Wait) oder _RunDOS versucht?
    Wie zeigt sich, dass es nicht geht? Fehlermeldung, wenn ja, genau? Skript bleibt stehen, wenn ja, wo? Skript stürzt ab, wenn ja, mit welcher Meldung?

    peethebee

  • peethebee : Script macht nix...

    @bumblebee : Also 'RunWait("D:\Temp\Test.cmd", "", @SW_HIDE)' funzt ohne Probleme. Mit Netzwerkpfad und Unterverzeichnissen. Probier mal ein Script mit nur dieser Zeile. Oder die Funktion die peethebee vorgeschlagen hat. Wenn die cmd funktioniert muß sie auch unter AutoIT auszuführen sein.

  • mom.........
    teste grad mal das gesamtpaket


    so , jetzt geht schonmal der weg über die setup.cmd die diesen befehl enthält:

    xcopy \\asvdinwf01\vol02\install\netop9_guest\netop9\config\*.* "%APPDATA%\Netop Remote Control\Guest\" /E /S /Y


    und welche ich im autiit so aufrufe:

    RunWait($Amt & "setup.cmd")

    peethebee

    macht es sinn bzw. ist es grundsätzlich besser solche sachen mit shellexecute oder _rundos zu machen ??

    man doch könnte aber auch die geschichte ohne umweg über die cmd mit dircopy lösen, was ich ebenfalls versucht habe. leider ohne erfolg.
    ich kriegs nicht hin direkt im autoit die sachen vom server nach %appdata% zu kopieren.

    Einmal editiert, zuletzt von bumblebee (14. März 2007 um 14:51)

    • Offizieller Beitrag

    Hallo!

    Statt Run ist grundsätzlich ShellExecute vorzuziehen, ist näher am System und kann auch nicht ausführbare Dateien direkt starten.
    _RunDOS erspart den Umweg über die CMD-Datei, ist also auch vorzuziehen und müsste auch funktionieren.
    Aber Dircopy wäre natürlich das einfachste, wenn es klappt. Eventuell ahst du die Pfade falsch angegeben oder Parameter falsch gesetzt. Lass mal die Pfade ausgeben mit einer MsgBox und schau dir das Beispiel in der Hilfe an. Das oben angepsrochene Mappen des Verzeichnisses könnte die Server-Problematik lösen...

    peethebee

  • 'DirCopy("\\asvdinwf01\vol02\install\netop9_guest\netop9\config", @AppDataDir & "\Netop Remote Control\Guest\", 1)' sollte funktionieren. Vielleicht liegt es an den Rechten die die Exe besitzt. Ist das einzige was den Unterschied zwischen cmd aus AutoIT aufgerufen und 'per Hand' gestartet erklären würde.

  • so hab jetzt das probiert:

    DirCopy($Amt & "config", @AppDataDir"\Netop Remote Control2\Guest\",1)

    kommt leider syntax error
    ist da vielleicht ein slash zuviel ?? oder das @appdatadir an der falschen stelle

  • Da fehlt ein '&' :
    DirCopy($Amt & "config", @AppDataDir & "\Netop Remote Control2\Guest\",1)
    Dann läuft's (hoffentlich) ;)

    Edit : Eddy war schneller...

    Einmal editiert, zuletzt von JanSchmidt (14. März 2007 um 15:22)

  • ah, jetzt passts.

    jetzt probier ich nochmal das gesamtpaket ohne cmd-befehl aber dafür mit dem dircopy


    fehlanzeige, den hier frisst er net:
    ------------------------------------------------
    $Amt = "\\asvdinwf01\vol02\install\Netop9_guest\Netop9\"
    $Programm = "Netop 9 Guest"

    MsgBox(0, "Netop", $Programm & " wird jetzt installiert. " & @CRLF & @CRLF & "Während der Installation sind Tastatur und Maus gesperrt !!" & @CRLF & @CRLF & "Zur Fortsetzung der Installation bitte mit OK bestätigen !! Danach wird der Rechner NEU GESTARTET")

    DirCopy($Amt & "config", @AppDataDir & "\Netop Remote Control\Guest\",1)
    ------------------------------------------------------

    über die cmd, gehts jetzt. sehr komisch.
    egal, dann mach ich das halt über die cmd

    Einmal editiert, zuletzt von bumblebee (14. März 2007 um 15:49)