DirCopy

    • Offizieller Beitrag

    Hallo,

    ich möchte eine unbeaufsichtigte Installation von unseren Firmenrechner machen. Da die aber schon vorkonfiguriert sind, muss ich was nachbauen.
    Wenn ich nun unsere Office Volumen von meinem Medium auf die Platte kopieren möchte, legt er zwar die Verzeichnisse an, aber kopiert nicht.
    Demnach kann das Skript auch nciht ausgeführt werden.
    Folgenden Code verwende ich:

    [autoit]

    Func finde_laufwerk()
    $result = StringMid(@ScriptDir,StringInStr(@ScriptDir,":",0,1)-1,3)
    msgbox(0,"Laufwerk",$result)
    return $result
    EndFunc

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

    Func copy_office_files()
    DirCreate("c:\apps")
    DirCreate("c:\apps\office_basis")
    DirCreate("c:\apps\office_vorlage")
    $laufwerk = finde_laufwerk()
    DirCopy($laufwerk & "\apps\office", "c:\apps\office_basis")
    FileCopy($laufwerk & "\apps\officestd.mst", "c:\apps\office_vorlage")
    FileCopy($laufwerk & "\apps\officepro.mst", "c:\apps\office_vorlage")
    $WshShell.LogEvent ($SUCCESS, "Office Dateien kopiert." )
    $WshShell = 0
    EndFunc

    [/autoit]


    Die finde_laufwerk Funktion hab ich hier aus dem Forum, ich glaube huggy hatte die gepostet. Danke dafür. Hoffe jemand kann mir helfen.

    • Offizieller Beitrag

    HI,

    probier mal so und werte den Returnwert aus

    [autoit]

    Func _getScriptDrive($iflag = 0)
    Local $drive = StringRegExp(@ScriptDir, '[a-zA-Z]\:', 1)
    If @error <> 0 Then Return -1
    If $iflag = 0 Then Return $drive[0]
    Return $drive[0] & '\'
    EndFunc ;==>_getScriptDrive

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

    Func copy_office_files()
    Local $laufwerk = _getScriptDrive()
    If Not DirCopy($laufwerk & '\apps\office', 'c:\apps\office_basis') Then Return -1
    If Not FileCopy($laufwerk & '\apps\officestd.mst', 'c:\apps\office_vorlage\', 8) Then Return -2
    If Not FileCopy($laufwerk & '\apps\officepro.mst', 'c:\apps\office_vorlage\', 8) Then Return -3
    ;$WshShell.LogEvent ($SUCCESS, 'Office Dateien kopiert.')
    ;$WshShell = 0
    EndFunc ;==>copy_office_files

    [/autoit]

    So long,

    Mega