CMD - Batch in ein AutoIT-Script konvertieren

  • Hallo zusammen,


    ich habe zwei Batch-Scripte (Windows CMD) welche unter Windows XP problemlos ihren Dienst verrichtet haben.

    Nun wollte ich diese CMD-Scripte unter Windows 7 zum Einsatz bringen. Leider scheitern die Scripte an der UCA von Windows 7. Die Scripte kopieren eigentlich nur ein paar Dateien, setzen Registrykeys, das Hintergrundbild... also eigentlich nichts wildes.


    Gibt es eine Möglichkeit die CMD-Batch-Scripte einfach nach AutoIt zu konvrtieren. Bin in Sachen AutoIt nicht wirklich bewandert.


    Vielen Dank für eure Unterstützung


    Kann ggf. auf die CMDs bereitstellen.

  • und weiter? *g*
    willst du die Befehle für kopieren und Registry werte setzten

    Spoiler anzeigen
    [autoit]

    Filecopy()
    Regwrite()

    [/autoit]

    oder willst du dass es dir Jemand übersetzt? Dann solltest du aber die Batches anhängen

  • Zitat

    Leider scheitern die Scripte an der UCA von Windows 7

    ah, und AutoIt hebelt die UCA aus?^^
    Wieso lässt du nicht in den Batchfiles die UCA-"kritischen" Befehle Im Admin-Kontext laufen, oder generell die Batchfiles als Admin oder einem User mit entsprechenden Rechten?

  • ich glaube er sucht einen richtigen Konverter, so einen gibt es soweit ich weiß nicht wirklich. Du könntest die "UAC" natürlich auch "aushebeln", indem du nen #requireadmin setzt und einfach mit shellexecute die Batch ausführst.
    Oder du machst es auf die saubere Art und weise und lernst AutoIt und übersetzt deine Scripte. Glaub mir AutoIt ist nicht so schlimm wies ausschaut. Bei mir hats 99% der Batches vertrieben ;)

    21 is only half the truth.

  • Hallo Sprenger 120 hier das Script


    REM Setzen der Laufwerksvariablen
    setlocal
    echo Laufwerk: %~d0
    echo Ordner : %~p0
    echo Pfad : %~dp0


    REM Setzen der Supportinformationen und Kopieren des Screensafers wird durchgeführt...
    xcopy "%~dp0\support\*.*" "C:\Windows\System32\" /i /y


    REM Kopieren der Druckertreiber (keine Installation)...
    xcopy "%~dp0\printer\*.*" "C:\Drucker_Treiber\" /i /s /y


    REM Kopieren diverse Sprachdateien
    xcopy "%~dp0\sprachen\*.*" "C:\Tools" /i /s /y


    REM Kopieren der Wallpapers
    xcopy "%~dp0\wallpaper\*.*" "C:\Wallpaper\" /i /s /y


    REM Kopieren der Languagedatei für PDF Creator
    xcopy "C:\Tools\german.ini" "C:\Programme\PDFCreator\languages" /i /s /y


    REM Kopieren des Druckerinstalltutorials
    xcopy "%~dp0\Druckerinstallation\*.*" "C:\Druckerinstallation\" /i /s /y
    machlink -q:"c:\Druckerinstallation\Druckerinstallation.html" -z:"%ALLUSERSPROFILE%\Desktop\Druckerinstallation.lnk"


    REM Kopieren der Handbuecher
    xcopy "%~dp0\Handbuecher\*.*" "C:\Handbuecher\" /i /s /y
    machlink -q:"c:\Handbuecher\TrueCrypt_Bedienungs-Anleitung.pdf" -z:"%ALLUSERSPROFILE%\Desktop\TrueCrypt_Bedienungs-Anleitung.lnk"
    machlink -q:"c:\Handbuecher\Repository_einrichten.pdf" -z:"%ALLUSERSPROFILE%\Desktop\Repository_einrichten.lnk"


    REM Kopieren der Tausch Connectors
    xcopy "%~dp0\Tools\*.*" "C:\Tools" /i /s /y
    machlink -q:"c:\Tools\MountTausch.exe" -z:"%ALLUSERSPROFILE%\Desktop\MountTausch.lnk"


    REM Kopieren von Kill Notes
    xcopy "%~dp0\Tools\*.*" "C:\Tools" /i /s /y
    machlink -q:"c:\Tools\KillNotes.exe" -z:"%ALLUSERSPROFILE%\Desktop\KillNotes.lnk"


    REM Kopieren der SVN_Repository_einrichten
    xcopy "%~dp0\Tools\*.*" "C:\Tools" /i /s /y
    machlink -q:"c:\Tools\SVN_Repository_einrichten.bat" -z:"%ALLUSERSPROFILE%\Desktop\SVN_Repository_einrichten.lnk"


    REM Modifiziert die Registry für das Prgogramm "EasyInventory" klappt noch nicht unter Win7
    %systemroot%\system32\reg.exe add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v forceguest /t REG_DWORD /d 00000000 /f
    netsh firewall set service remoteadmin enable all


    REM Konfiguirieren der Umgebung
    call :quiet>nul 2>&1
    goto :EOF
    :quiet

    :: Konfiguriert das Hintergrundbild
    REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "C:\Wallpaper\Hintergrund_1024x768.bmp"
    REG ADD "HKCU\Control Panel\Desktop" /V WallpaperStyle /T REG_SZ /F /D 2
    REG ADD "HKCU\Control Panel\Desktop" /V TileWallpaper /T REG_SZ /F /D 0

    :: Konfiguriert den Bildschirmschoner
    REG ADD "HKCU\Control Panel\Desktop" /V SCRNSAVE.EXE /T REG_SZ /F /D "C:\Windows\System32\screensafer.scr"
    REG ADD "HKCU\Control Panel\Desktop" /V ScreenSaveActive /T REG_SZ /F /D 1

    :: Setzen der Bildschirmschonerzeit auf 900 Sekunden (10 Minuten).
    REG ADD "HKCU\Control Panel\Desktop" /V ScreenSaveTimeOut /T REG_SZ /F /D 600

    :: Einschalten der Passwortanmeldung bei Reaktivierung
    REG ADD "HKCU\Control Panel\Desktop" /V ScreenSaverIsSecure /T REG_SZ /F /D 1

    :: Entfernen der Reiterkarten Bildschirmschoner, Hintergrund, und Bildschirmeinstellungen
    REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /V NoDispScrSavPage /T REG_DWORD /F /D 1
    REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /V NoDispBackgroundPage /T REG_DWORD /F /D 0
    REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /V NoDispAppearancePage /T REG_DWORD /F /D 0

    :: Sofortige Umsetzung der Konfiguration
    %SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

  • Also du könntest es so lösen:

    Spoiler anzeigen
    [autoit]


    #RequireAdmin
    run(@scriptdir&"\hier.bat")

    [/autoit]


    ansosten kann man es ja so lösen:

    Spoiler anzeigen
    [autoit]


    #RequireAdmin
    ;dann die datei spliten mit @crlf in der variable $befehl
    run("cmd.exe /c "&$befehl[1]

    [/autoit]

    Nur keine Hektik - das Leben ist stressig genug

  • Wenn du es sauber machen willst, hier mal ein Beispiel (Hatte grade nicht so viel Zeit ;) )

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Change2CUI=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    Local Const $sQuellPfad = "\\server\Daten"
    Local Const $ae = Chr(132)
    Local Const $_AE = Chr(142)
    Local Const $oe = Chr(148)
    Local Const $_OE = Chr(153)
    Local Const $ue = Chr(129)
    Local Const $_UE = Chr(154)

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

    ConsoleWrite("Setzen der Supportinformationen und Kopieren des Screensafers wird durchgef" & $ue & "hrt..." & @CRLF)
    FileCopy($sQuellPfad & "\support\*.*" ,@SystemDir & "\*.*",9)
    ConsoleWrite("Kopieren der Druckertreiber (keine Installation)..." & @CRLF)
    FileCopy($sQuellPfad & "\printer\*.*" ,"C:\Drucker_Treiber\*.*",9)
    ConsoleWrite("Kopieren diverse Sprachdateien" & @CRLF)
    FileCopy($sQuellPfad & "\sprachen\*.*" ,"C:\Tools\*.*",9)
    ConsoleWrite("Konfiguriert das Hintergrundbild" & @CRLF)
    RegWrite("HKCU\Control Panel\Desktop","Wallpaper","REG_SZ","C:\Wallpaper\Hintergrund_1024x768.bmp")
    ConsoleWrite("Sofortige Umsetzung der Konfiguration" & @CRLF)
    ShellExecute(@SystemDir & "\RUNDLL32.EXE","user32.dll, UpdatePerUserSystemParameters")

    [/autoit]

    21 is only half the truth.