1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. wolkenloser

Beiträge von wolkenloser

  • ProfilCopy

    • wolkenloser
    • 26. März 2006 um 10:10

    Hallo,
    ich habe mich schon eine Weile mit dem Thema XP UNATTEDED installation beschäftigt. Leider gibt es da immer das Problem das man jede Menge REG Keys gesammelt hat und damit sein Profil so bearbeitet hat bis alles so aussah wie man es gerne haben wollte.
    Das Problem ist aber, wenn man einen Neuen Benutzer anlegt, und dieser sich zum ersten mal anmeldet, sind die ganzen Einstellungen die normalerweise in der Registry unter HKCU stehen für den neuen Benutzer wieder auf den Standartwerten :(

    Während ein vohergehende Script über den Weg gegangen ist den RegistryZweig des Defalt Users zu laden und dann die entsprechenden Regfiles hierfür anzupassen und einzulesen, habe ich jetzt doch einen Weg gefunden die NTUSER.DAT des aktuellen Benutzers zu kopieren. (d.h. nicht ich sondern Thorsten Eggeling, Email: prx@pcwelt.de)
    Ich benutze das freie Programm "pcwRegBack" von der PCWelt Seite(google hilft weiter). Dieses Programm kann eine Sicherung der Registry im laufendem Betrieb anlegen und extrahiert hierbei u.a die NTUSER.DAT in eine Backupverzeichnis.
    Das ganze habe ich in ein AUTOIT Script verpackt so daß das ganze auch im Rahmen einer UNATTENDED installation funktioniert. (z.B c:\>"ProfilCopy.exe /HKCU")

    Herrausgekommen ist nun mein Tool Profilcopy.
    Profilcopy kann man z.B. auch benutzen um nach(!) eine kompletten XP installation das "Defaul User" Profil ohne den Umweg über ein drittes Benutzerkonto zu kopieren.

    Wie funktioniert das jetzt:
    Starten kann man Profilcopy von der Komandzeile mit Parameter für die UNATTENDED Methode. Startet man ohne Parameter wird vorher eine GUI aufgerufen. Startet man mit der Option /? wird ein Syntay-Hilfe-Fenster für die Kommandozeile ausgegeben.

    Für beide Varianten kann man neben dem kopieren der NTUSER.DAT noch das kopieren folgender Ordner aktivieren: (in Klammern die Switches für die Komandozeile)
    -Autostart (/a)
    -Schnellstartleiste (/s)
    -Favoriten (/f)
    -Desktop (/d)
    -NTUSER.DAT (/HKCU)

    Die GUI Variante hat eine Funktion mehr: Man kann den Profilordner in den kopiert werden soll vorher auswählen.
    Das ist nützlich wenn man die Änderungen auch für schon bestehende Profile "im Nachhinein" machen will. Hier sollte man aber vorsichtig rangehen, da in der NTUSER.DAT im Normalfall auch wichtige Einstellungen für bestimmte Programme hinterlegt werden. Diese sind dann "weg". Allerdings wird beim kopieren der NTUSER.DAT vorher noch eine Sicherheitskopie der ursprünglichen Datei angelegt.

    Meine Tests hiermit bisher waren erfolgreich.
    Ihr könnte das Tool ja mal ausprobiern und ggf. Berichten wie es bei euch funktioniert.

    C
    #include <process.au3>
    #include <Array.au3>
    
    
    Opt("TrayIconDebug", 1); zeigt am trayicon welchen Befehl  das Script gerade Ausführt
    dim $profileLabel, $Checkbox1, $20, $21=0, $22=0, $23=0, $24=0, $25=0,  $Checkbox1, $Checkbox2, $Checkbox3, $Checkbox4, $Checkbox5, $Checkbox6,  $Form1
    dim $profileLabel,$profilauto, $profilquick, $profilfavoriten, $profildesktop, $profilHKCU, $var1, $copylevel
    ;~ dim $CMDLINE[6]
    $profilname = @HomeDrive & "\Dokumente und Einstellungen" & "Default User"; Voreinstellung
    FileInstall("C:\pcwRegBackup.exe",@TempDir & "" , 1)
    $mon = StringLeft(@MON,1);~ MsgBox(0,"erste Stelle des Monats",$mon)
    If $mon = 0 then $mon2 = StringRight(@MON,1);entfernt führende Nullen im Monat für die Abfrage des Verzeichnises
    
    
    
    
    $searchstring = $mon2 & "_" & @MDAY & "_" & @YEAR & "_" &  @HOUR & "_" & @MIN & "*.*"
    $befehl ='Title NTUSER.DAT wird extrahiert - Achtung kurzzeitige hohe CPU Last  && ' &  @TempDir & "\pcwRegBackup.exe /b"
    
    
    
    
    ; Programmstart
    If Not $CMDLINE[0] Then; kein Komandozeilenparameter übergeben -> GUI Starten
    	menue()
    Else; Komandozeilenparameter  auswerten
    ;~  _ArrayDisplay($CMDLINE,"")
    	$array_anzahl=$CMDLINE[0]
    
    	If  $array_anzahl = 1 Then 
      If $CMDLINE[1] = "/a" Then $21 = 1
      If $CMDLINE[1] = "/s" Then $22 = 1
      If $CMDLINE[1] = "/f" Then $23 = 1
      If $CMDLINE[1] = "/d" Then $24 = 1
      If $CMDLINE[1] = "/HKCU" Then $25 = 1	
      If $21=0  And $22=0 And $23=0 And $24=0 And $25=0 Then  
      	MsgBox(4096,"Fehler"," keine passende Argumente übergeben" & @cr & "Mögliche Optionen:" & @CR & "/a ->Autostart Ordner kopieren" & @CR & "/s ->Schnellstartleiste kopieren" & @CR & "/f ->Favoriten kopieren" & @CR & "/d -> Desktop kopieren" & @CR & "/HKCU ->NTUSER.DAT des aktuellen Benutzers in das Default User Profil kopieren") 
      EndIf	
    	EndIf
    
    
    
    
    	If  $array_anzahl = 2 Then
      If $CMDLINE[1] = "/a"    Or $CMDLINE[2] = "/a" Then $21 = 1
      If $CMDLINE[1] = "/s"    Or $CMDLINE[2] = "/s" Then $22 = 1
      If $CMDLINE[1] = "/f"    Or $CMDLINE[2] = "/f" Then $23 = 1
      If $CMDLINE[1] = "/d"    Or $CMDLINE[2] = "/d" Then $24 = 1
      If $CMDLINE[1] = "/HKCU" Or $CMDLINE[2] = "/HKCU" Then $25 = 1	
        If $21=0  And $22=0 And $23=0 And $24=0 And $25=0 Then  
      	MsgBox(4096,"Fehler"," keine passende Argumente übergeben" & @cr & "Mögliche Optionen:" & @CR & "/a ->Autostart Ordner kopieren" & @CR & "/s ->Schnellstartleiste kopieren" & @CR & "/f ->Favoriten kopieren" & @CR & "/d -> Desktop kopieren" & @CR & "/HKCU ->NTUSER.DAT des aktuellen Benutzers in das Default User Profil kopieren") 
      EndIf
    	EndIf	
    
    	If  $array_anzahl = 3 Then 
      If $CMDLINE[1] = "/a"     Or $CMDLINE[2] = "/a"     or $CMDLINE[3] = "/a" Then $21 = 1
      If $CMDLINE[1] = "/s"     Or $CMDLINE[2] = "/s"     or $CMDLINE[3] = "/s" Then $22 = 1
      If $CMDLINE[1] = "/f"     Or $CMDLINE[2] = "/f"     or $CMDLINE[3] = "/f" Then $23 = 1
      If $CMDLINE[1] = "/d"     Or $CMDLINE[2] = "/d"     or $CMDLINE[3] = "/d" Then $24 = 1
      If $CMDLINE[1] = "/HKCU"  Or $CMDLINE[2] = "/HKCU"  or $CMDLINE[3] = "/HKCU" Then $25 = 1	
        If $21=0  And $22=0 And $23=0 And $24=0 And $25=0 Then  
      	MsgBox(4096,"Fehler"," keine passende Argumente übergeben" & @cr & "Mögliche Optionen:" & @CR & "/a ->Autostart Ordner kopieren" & @CR & "/s ->Schnellstartleiste kopieren" & @CR & "/f ->Favoriten kopieren" & @CR & "/d -> Desktop kopieren" & @CR & "/HKCU ->NTUSER.DAT des aktuellen Benutzers in das Default User Profil kopieren") 
      EndIf	
    	EndIf
    
    	If  $array_anzahl = 4 Then
      If $CMDLINE[1] = "/a"     Or $CMDLINE[2] = "/a"     or $CMDLINE[3] = "/a"     Or $CMDLINE[4] = "/a" Then $21 = 1
      If $CMDLINE[1] = "/s"     Or $CMDLINE[2] = "/s"     or $CMDLINE[3] = "/s"     Or $CMDLINE[4] = "/s" Then $22 = 1
      If $CMDLINE[1] = "/f"     Or $CMDLINE[2] = "/f"     or $CMDLINE[3] = "/f"     Or $CMDLINE[4] = "/f" Then $23 = 1
      If $CMDLINE[1] = "/d"     Or $CMDLINE[2] = "/d"     or $CMDLINE[3] = "/d"     Or $CMDLINE[4] = "/d" Then $24 = 1
      If $CMDLINE[1] = "/HKCU"  Or $CMDLINE[2] = "/HKCU"  or $CMDLINE[3] = "/HKCU"  Or $CMDLINE[4] = "/HKCU" Then $25 = 1	
        If $21=0  And $22=0 And $23=0 And $24=0 And $25=0 Then  
      	MsgBox(4096,"Fehler"," keine passende Argumente übergeben" & @cr & "Mögliche Optionen:" & @CR & "/a ->Autostart Ordner kopieren" & @CR & "/s ->Schnellstartleiste kopieren" & @CR & "/f ->Favoriten kopieren" & @CR & "/d -> Desktop kopieren" & @CR & "/HKCU ->NTUSER.DAT des aktuellen Benutzers in das Default User Profil kopieren") 
      EndIf	
    	EndIf
    
    	If  $array_anzahl = 5 Then 
      If $CMDLINE[1] = "/a"     Or $CMDLINE[2] = "/a"     or $CMDLINE[3] = "/a"     Or $CMDLINE[4] = "/a"     or $CMDLINE[5] = "/a" Then $21 = 1
      If $CMDLINE[1] = "/s"     Or $CMDLINE[2] = "/s"     or $CMDLINE[3] = "/s"     Or $CMDLINE[4] = "/s"     or $CMDLINE[5] = "/s" Then $22 = 1
      If $CMDLINE[1] = "/f"     Or $CMDLINE[2] = "/f"     or $CMDLINE[3] = "/f"     Or $CMDLINE[4] = "/f"     or $CMDLINE[5] = "/f" Then $23 = 1
      If $CMDLINE[1] = "/d"     Or $CMDLINE[2] = "/d"     or $CMDLINE[3] = "/d"     Or $CMDLINE[4] = "/d"     or $CMDLINE[5] = "/d" Then $24 = 1
      If $CMDLINE[1] = "/HKCU"  Or $CMDLINE[2] = "/HKCU"  or $CMDLINE[3] = "/HKCU"  Or $CMDLINE[4] = "/HKCU"  or $CMDLINE[5] = "/HKCU" Then $25 = 1	
        If $21=0  And $22=0 And $23=0 And $24=0 And $25=0 Then  
      	MsgBox(4096,"Fehler"," keine passende Argumente übergeben" & @cr & "Mögliche Optionen:" & @CR & "/a ->Autostart Ordner kopieren" & @CR & "/s ->Schnellstartleiste kopieren" & @CR & "/f ->Favoriten kopieren" & @CR & "/d -> Desktop kopieren" & @CR & "/HKCU ->NTUSER.DAT des aktuellen Benutzers in das Default User Profil kopieren") 
      EndIf	
    	EndIf
    
    
    	If  $array_anzahl = 6 Then 
      If $CMDLINE[1] = "/a"     Or $CMDLINE[2] = "/a"     or $CMDLINE[3] = "/a"     Or $CMDLINE[4] = "/a"     or $CMDLINE[5] = "/a"     or $CMDLINE[6] = "/a" Then $21 = 1
      If $CMDLINE[1] = "/s"     Or $CMDLINE[2] = "/s"     or $CMDLINE[3] = "/s"     Or $CMDLINE[4] = "/s"     or $CMDLINE[5] = "/s"     or $CMDLINE[6] = "/s" Then $22 = 1
      If $CMDLINE[1] = "/f"     Or $CMDLINE[2] = "/f"     or $CMDLINE[3] = "/f"     Or $CMDLINE[4] = "/f"     or $CMDLINE[5] = "/f"     or $CMDLINE[6] = "/f" Then $23 = 1
      If $CMDLINE[1] = "/d"     Or $CMDLINE[2] = "/d"     or $CMDLINE[3] = "/d"     Or $CMDLINE[4] = "/d"     or $CMDLINE[5] = "/d"     or $CMDLINE[6] = "/d" Then $24 = 1
      If $CMDLINE[1] = "/HKCU"  Or $CMDLINE[2] = "/HKCU"  or $CMDLINE[3] = "/HKCU"  Or $CMDLINE[4] = "/HKCU"  or $CMDLINE[5] = "/HKCU"  or $CMDLINE[6] = "/HKCU" Then $25 = 1	
        If $21=0  And $22=0 And $23=0 And $24=0 And $25=0 Then  
      	MsgBox(4096,"Fehler"," keine passende Argumente übergeben" & @cr & "Mögliche Optionen:" & @CR & "/a ->Autostart Ordner kopieren" & @CR & "/s ->Schnellstartleiste kopieren" & @CR & "/f ->Favoriten kopieren" & @CR & "/d -> Desktop kopieren" & @CR & "/HKCU ->NTUSER.DAT des aktuellen Benutzers in das Default User Profil kopieren") 
      EndIf
    	EndIf	
    ;~  MsgBox(0,"",$21 & "-" & $22 & "-" & $23 & "-" & $24 & "-" & $25) 
    	kopiere_ProfilOrdner()
    EndIf
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    Func MENUE()
    #include <GUIConstants.au3>
    ; == GUI generated with Koda ==);
    $Form1 = GUICreate("XP ProfilCopy", 800, 237, 192, 125)
    $Button3 = GUICtrlCreateButton("wählen", 100, 24, 49, 17, 0)
    $Checkbox1 = GUICtrlCreateLabel("Profilordner ", 24, 24, 70, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Autostart kopieren", 24, 48, 153, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Schnellstartleiste kopieren", 24, 72, 153, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Favoriten kopieren", 24, 96, 153, 17)
    $Checkbox5 = GUICtrlCreateCheckbox("Desktop kopieren", 24, 120, 153, 17)
    $Checkbox6 = GUICtrlCreateCheckbox("NTUSER.DAT (HKCU) kopieren", 24, 148, 173, 17)
    $Button1 = GUICtrlCreateButton("OK", 24, 200, 73, 25, 0)
    $Button2 = GUICtrlCreateButton("Abbruch", 112, 200, 73, 25, 0)
    
    
    $profileLabel = GUICtrlCreateLabel($profilname, 248, 24, 400, 17)
    $profilauto =  GUICtrlCreateLabel($profilname & "\Startmenü\Programme\Autostart", 248, 48, 400, 17)
    $profilquick = GUICtrlCreateLabel($profilname & "\Anwendungsdaten\Microsoft\Internet Explorer\Quick Launch", 248, 72, 600, 17)
    $profilfavoriten = GUICtrlCreateLabel($profilname & "\Favoriten",248, 96, 400, 17)
    $profildesktop = GUICtrlCreateLabel($profilname & "\Desktop",248, 120, 400, 17)
    $profilHKCU = GUICtrlCreateLabel($profilname ,248, 148, 400, 17)
    
    
    
    
    GUISetState(@SW_SHOW)
    While 1
    	$msg = GuiGetMsg()
    	Select
    	Case $msg = $GUI_EVENT_CLOSE
      ExitLoop
    
    	Case $msg = $Button3
      profilordnerwaehlen()	
    
    	Case $msg = $Button1	
      OK()
    
    	Case $msg = $Button2;Abbruch
      Exit
    
    
    	Case Else
    	;;;;;;;
    	EndSelect
    WEnd
    
    
    EndFunc
    
    
    
    
    
    
    
    
    Func profilordnerwaehlen()
    $var1 = $profilname	
    ;~  FileSelectFolder ( "dialog text", "root dir" [, flag [, "initial dir"]] )
    $profilname = FileSelectFolder("Bitte wählen sie den Profilordner",@HomeDrive & "\Dokumente und Einstellungen",1)
    GUICtrlSetData($profileLabel,$profilname)
    GUICtrlSetData($profilauto,$profilname & "\Startmenü\Programme\Autostart")
    GUICtrlSetData($profilquick,$profilname & "\Anwendungsdaten\Microsoft\Internet Explorer\Quick Launch")
    GUICtrlSetData($profilfavoriten, $profilname & "\Favoriten")
    GUICtrlSetData($profildesktop, $profilname & "\Desktop")
    GUICtrlSetData($profilHKCU,$profilname)
    ControlCommand("","",$Checkbox1,"Check", "")
    ;~ MsgBox(0,"",$var1 & @cr & $profilname)
    EndFunc	
    
    
    
    
    
    
    
    
    
    
    Func OK()
    ;~  $20 = GUICtrlRead($Checkbox1);Profil kopieren
    	$21 = GUICtrlRead($Checkbox2);Autostart kopieren
    	$22 = GUICtrlRead($Checkbox3);Schnellstartleiste kopieren
    	$23 = GUICtrlRead($Checkbox4);Favoriten kopieren
    	$24 = GUICtrlRead($Checkbox5);Desktop kopieren
    	$25 = GUICtrlRead($Checkbox6);NTUSER.DAT (HKCU) kopieren
    	GUIDelete($Form1)
    
    kopiere_ProfilOrdner()
    EndFunc	
    
    
    
    
    
    
    
    
    
    
    
    
    Func kopiere_ProfilOrdner()
    ;~ MsgBox(0,"",$21 & "-" & $22 & "-" & $23 & "-" & $24 & "-" & $25 & @cr &  $profilname) 
    If $21 = 1 Then DirCopy(@StartupDir, $profilname & "\Startmenü\Programme\Autostart", 1)
    If $22 = 1 Then DirCopy(@AppDataDir & "\Microsoft\Internet Explorer\Quick Launch", $profilname & "\Anwendungsdaten\Microsoft\Internet Explorer\Quick Launch", 1)
    If $23 = 1 Then DirCopy(@FavoritesDir, $profilname & "\Favoriten", 1)
    If $24 = 1 Then DirCopy(@DesktopDir, $profilname & "\Desktop", 1)
    If $25 = 1 Then copy_NTUSER_DAT()
    EndFunc
    
    
    
    
    
    
    Func copy_NTUSER_DAT()
    SplashTextOn("NTUSER DAT von [" &  @UserName & "] wird kopiert","Die NTUSER.DAT des aktuellen Benutzers wird nun kopiert" & @CR & "Dies entspricht dem Registry-Zweig ->HKCU" & @CR & "Die dort hinterlegten Einstellungen gelten dann für jedes neuangelegte Profil" & @CR & @CR &  "Bitte etwas Geduld...",560, 150, @DesktopWidth/2-280, 20)
    $isfile = FileExists(@TempDir & "\pcwRegBackup.exe")
    if $isfile = 0 Then MsgBox(0, "Error", "[pcwRegBackup.exe] nicht in " & @TempDir & " gefunden:")
    RunWait(@ComSpec & " /c " & $befehl, "", @SW_HIDE)
    FileDelete(@TempDir & "\pcwRegBackup.exe")
    SplashOff()
    
    
    $search = FileFindFirstFile(@TempDir & "" &  $searchstring)
    If $search = -1 Then
        MsgBox(0, "Error", "Backupverzeichnis der Registry nicht gefunden:" & @TempDir & "" & $searchstring )
        Exit
    EndIf
    
    
    $dir = FileFindNextFile($search)
    
    
    ;~ MsgBox(0,"gefundenes Verzeichnis",$dir,2)
    $msg = MsgBox(1,"kopieren der extrahierten NTUSER.DAT","NTUSER.DAT von [" & @UserName & "] wird jetzt in das Profil von [" & $profilname & "] kopiert", 2)
    If $msg = 2 Then Exit
    FileCopy($profilname & "" & "NTUSER.DAT", $profilname & "" & "NTUSER.DAT" & "." & @MON & "_" & @MDAY & "_" & @YEAR & "_" &  @HOUR & "_" & @MIN & "_" & @SEC , 1)	
    $copylevel = FileCopy(@TempDir & "" & $dir & "" & "NTUSER.DAT",$profilname, 1)
    If $copylevel = 0 Then 
    	MsgBox(4096,"FEHLER", "Es ist ein Fehler beim kopieren aufgetreten. - Bitte überprüfen sie das Zielverzeichnis")
    	Run("explorer " & $profilname)
    exit
    EndFunc
    Alles anzeigen
  • Markierte Dateien verarbeiten

    • wolkenloser
    • 23. März 2006 um 20:18

    bei mir erscheint nix

    guck mal, ich habe den Regzweig extrahiiert,
    dann kannst Du besser sehen ob ich es richtig gemacht habe :)

    Code
    Windows Registry Editor Version 5.00
    
    
    [HKEY_CLASSES_ROOT\Directory\shell\AUTOIT Test\command]
    @="C:\Dokumente und Einstellungen\dm\Desktop\AU3\Explorer_rightklick_tool\rightklicktool2.exe"
  • Markierte Dateien verarbeiten

    • wolkenloser
    • 23. März 2006 um 19:00

    Ich hab jertzt zumindest den Ansatz.

    der ist ganz Simpel.

    Ich muß einfach nur ein Script zur EXE Compilieren dann kann ich belibige Dateien "draufziehen" und sofort wird ein Array mit den Dateinamen erstellt.
    Dazu brauche ich gar nichts weiter machen (wußte ich allerdings bisher auch nicht)

    Z.B

    Code
    #include <Array.au3>
    _ArrayDisplay($CMDLINE,"")

    Das alleine bewirkt schon, das ich ein Array bekomme,
    jetzt brauche ich nur noch eine Schleife machen, die einen Befehl für jedes ArrayElement ausführt.


    Der Teil mit dem Rechtsklick hat dann weniger was mit Autoit zu tun, das geht z.B einfach daurch, das die EXE dann ins den Ordner "Send To" des jeweiligen Benutzerprofils kopiert wird.
    So kann ich dann files selektieren und per rechtsklick über "senden an" an das Autoitprogramm übermitteln.

    THATS IT :)

    Wenn mir jezuz noch einer sagt wie ich es machen muß, damit ich direkt einen Befehl ins Kontextmenue bekomme, dann klappt es 100% so wie ich es vorhatte.

  • Array frage

    • wolkenloser
    • 23. März 2006 um 18:34

    Ich nehme an daß du ein Regfile einspielen willst.

    Wie auch immer, der fehler scheint offensichtlich beim dem "/S" zu liegen.Ein Fehler der immer wieder gen gemacht wird:

    Versuch es mal so (Da ist noch ein leerzeichen mehr):

    Code
    run(@TempDir & "" & $prog & " /S")


    Um so etwas rauszubekommen mach ich das meist so.
    Dann siehst Du sofort das das "/S" diregt am Dateinamen "klebt"


    Code
    $befehl = @TempDir & "" & $prog & " /S"
    msgbox(0,"Befehlszeile", $befehl)
    run($befehl)
  • Markierte Dateien verarbeiten

    • wolkenloser
    • 23. März 2006 um 13:56

    Das habe ich probiert, aber dann werrden dei Markierten Dateien selber in die Zwischenablage kopiert und nicht die NAMEN dieser.

    Ich brauche aber den Pfad+Dateiname.

    Hat jemand eine andere Idee ?

  • Markierte Dateien verarbeiten

    • wolkenloser
    • 22. März 2006 um 23:02

    Hi, jezt brauch ich mal einen Denkanstoß.

    Ich möchte Dateien verarbeiten die ich im Explorer markiert habe und per Kontextmenue eine befehl (autoit Programm) ausführen.
    Aber wie bekomme ich von den Ausgewählten Files idi Dateinamen in das Script ?

  • ftp.au3

    • wolkenloser
    • 22. März 2006 um 22:12

    Beispiel:

    Symantec Antivirusfiles downloaden


    Code
    #include <ftp.au3>
    dim $dl_file
    
    
    $server = 'ftp.symantec.com'
    $username = 'anonymous'
    $pass = 'anonymous@test.de'
    
    
    
    
    $Open = _FTPOpen('MyFTP Control')
    If @error Then Failed("Open")
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    If @error Then Failed("Connect")
    
    
    Dim $Handle
    Dim $DllRect
    
    
    $FileInfo = _FtpFileFindFirst($Conn, '/public/english_us_canada/antivirus_definitions/norton_antivirus/*i32.exe*', $Handle, $DllRect)
    If $FileInfo[0] Then
       Do
    ;~        MsgBox(0, "Find", $FileInfo[1] & @CR & $FileInfo[2] & @CR & $FileInfo[3] & @CR & $FileInfo[4] & @CR & $FileInfo[5] & @CR & $FileInfo[6] & @CR & $FileInfo[7] & @CR & $FileInfo[8] & @CR & $FileInfo[9] & @CR & $FileInfo[10])
           $dl_file = $FileInfo[10]
           $FileInfo = _FtpFileFindNext($Handle, $DllRect)
    
       Until Not $FileInfo[0]
    EndIf
    
    
    
    
    _FtpFileFindClose($Handle, $DllRect)
    MsgBox(0,"FTP File", "für DL vorgesehen:" & $dl_file)
    $Ftpg = _FTPGetFile($Conn, "/public/english_us_canada/antivirus_definitions/norton_antivirus/" & $dl_file,"c:" & $dl_file)
    
    
    
    
    
    
    
    
    
    
    
    
    $Ftpc = _FTPClose($Open)
    If @error Then Failed("Close")
    
    
    Exit
    
    
    Func Failed($F)
       MsgBox(0, "FTP", "Failed on: " & $F)
       Exit 1
    EndFunc
    Alles anzeigen
  • copy+paste

    • wolkenloser
    • 20. März 2006 um 21:05

    hi, alles markieren:

    Code
    send("^a"); alles markieren
    send("^c"); kopieren
    send("^v");einfügen

    Dann guck dir mal in der Hilfe unter APPENDIX den Abschnitt "Liste der Tasten für den SEND Befehl" an.

    :)

  • soundplay spielt keine mp3 ab

    • wolkenloser
    • 19. März 2006 um 20:52

    Ließ bitte den ersten Eintrag im Forzum zum Thema Hillfe.

    Du solltest dir erstmal die Grundaustattung (Scite und die Hilfedatei) besorgen.

    Dann klärt sich vieles von selber.

  • soundplay spielt keine mp3 ab

    • wolkenloser
    • 19. März 2006 um 17:15

    Die Eckigen Klammern bedeuten das diese Option gesetzt werden kann, aber nicht muß.
    Man kann sie also auch weglassen wenn man sie nicht braucht.

  • soundplay spielt keine mp3 ab

    • wolkenloser
    • 19. März 2006 um 14:20

    Du mußt nicht "wait" einfügen, sondern den Wert für Wait, also "1":

    Code
    SoundPlay ( "C:\Dokumente und Einstellungen\Administrator\Desktop\a.MP3" ,1)
  • soundplay spielt keine mp3 ab

    • wolkenloser
    • 19. März 2006 um 08:37

    Wo ist das Script ???

    Du darfst das Script nicht nach dem Befehl beenden, sonst hörst Du nix :


    Code
    SoundPlay ( "filename" [, wait] )
    
    
    
    
    Parameter
    
    
    filename Name der zu spielenden Datei (üblicherweise eine WAV- oder MP3-Datei) 
    wait [optional] Dieser Flag bestimmt, ob das Skript bis zum Ende des Sounds wartet und dann fortfährt :
    1 = Skript wartet, bis der Sound abgespielt ist.
    0 = Skript wird weiter ausgeführt während der Sound läuft (Vorgabe).
    Alles anzeigen
  • Problem mit findfirstfile

    • wolkenloser
    • 18. März 2006 um 22:35

    Ja, passt :)

    Danke, echt klasse

  • Problem mit findfirstfile

    • wolkenloser
    • 18. März 2006 um 22:32

    Sieht eigendlich gut aus.

    Hier nochmal ein test

    Code
    $file = @scriptdir & "\test.exe"
  • Problem mit findfirstfile

    • wolkenloser
    • 18. März 2006 um 21:23

    Wenn ich die Stelle mit EXITLOOP rausschmeiße bleibt das Script einfach stehen :(

  • Problem mit findfirstfile

    • wolkenloser
    • 18. März 2006 um 21:20

    Hier mal das ganze Script

  • Problem mit findfirstfile

    • wolkenloser
    • 18. März 2006 um 21:20

    Ich will eine große Ordner Stuktur auf Pfadlängen hin Prüfen, weil sich hier Pfade mit mehr als 255 Zeichen eingeschlichen haben.
    Das kann man erreichen wenn man z.B. eine Übergeordnetes Verzeichnis eines solchen langen Pfades umbenennt (mit mehr Zeichen als erlaubt).
    Das geht leider :(

    Ich habe eine Kopierfunktion etas abgewandelt, und das Zählen klappt soweit.

    Leider steigt das Script genau da aus, wofür ich es geschrieben habe :(

    Dann wenn mehr als 260! Zeichen erreicht werden

    Hier die betreffende Stelle im Script:

    Code
    Func Count($Dir)
    
    
    local $fileHandle, $File, $Path, $Destination , $Fixed, $Count2
    
    
    
    
    $fileHandle = fileFindFirstFile($Dir & "" & "*.*")
    if ($fileHandle <> -1) then
    while (1)
    $file = fileFindNextFile($fileHandle)
    
    
    if (@error = 1) then exitLoop
    if ($file = "." or $file = "..") then continueLoop
    $file = $path & "" & $file
    
    
    $Count2 = $Count2 + 1
    
    
    wend
    
    
    fileClose($FileHandle) 
    Endif
    
    
    $CurrentDirQty = $Count2
    
    
    
    
    
    
    Endfunc
    Alles anzeigen
  • Vnc-ph

    • wolkenloser
    • 18. März 2006 um 20:56

    Radmin auch...

    Ich weiß das es mit PROXY (Funk Software) geht und mit NetSupport (geil, aber teuer) auch...

    VNC hat aber die schlechteste Bildschirmakualisierung die man sich vorstellen kann, aber für Nüsse ist es wiederum sehr gut :)

  • Vnc-ph

    • wolkenloser
    • 18. März 2006 um 20:02

    Echt,
    Hat Ren...da kein Geld für was ordendliches über :)


    Ok, gehört jetzt nicht hierrein, daher die Antwort vielleicht als PN oder Mail :)

    By the Way, nutzt Ihr ggf. auch noch die DOS Box ?
    (nicht wie Du das jetzt glaubst !)

    Wir tun es, meine Frage ziehlt auf das Problem das VNC keine DOS Box im Vollbild darstellen kann (BlackBox).
    Kennst Du das Problem ?
    Hast Du vielleicht gar ne lösung ?

  • Vnc-ph

    • wolkenloser
    • 18. März 2006 um 19:56

    Das Passwort steht verschlüsselt in der Registry,
    Den Schlüssel kann man auch per Regexport auf andere System übertragen.

    Mich würde es schon interessieren wie man das in Klarschrift wandeln kann.

    zur not auch per PN :)

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™