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. L3viathan

Beiträge von L3viathan

  • RenamR

    • L3viathan
    • 9. Mai 2009 um 21:55

    Mal sehen.
    Wer hat schon dutzende Ordner, die er nach Schema umbenennen will?

  • RenamR

    • L3viathan
    • 9. Mai 2009 um 21:11

    neue Version, mit verbessertem Algorithmus und Zählervariable %n.
    Dieses Projekt ist aus aktuellem Anlass für mich entstanden, ich musste 30 .caf-Dateien in .aif-Dateien umbenennen. Deshalb dies:
    Ein Tool zum Umbenennen von Dateien.
    Nicht alle Buttons bzw. Checkboxes/Inputs haben schon die Funktion, aber man kann schon massenhaft Dateien umbenennen, mit Suchen/Ersetzen und Dateiendung ersetzen.

    Todo


    Zählervariable
    Outputusability
    Ext.-anhängen


    Hoffe, es gefällt.
    /edit: Jetzt mit Code ;)

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #Region Globals
    Global $oldFILETYPE
    #EndRegion Globals
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("RenamR", 588, 432, 193, 125)
    $Input = GUICtrlCreateGroup("Input", 8, 80, 569, 161)
    $inputINPUT = GUICtrlCreateInput("", 64, 200, 401, 21)
    $inputdirBUTTON = GUICtrlCreateButton("Ordner wählen...", 16, 104, 137, 33, 0)
    $filetypeCHECK = GUICtrlCreateCheckbox("Dateityp:", 216, 96, 160, 17)
    ;~ $Label5 = GUICtrlCreateLabel("Dateityp:", 232, 96, 144, 17)
    $filetypeINPUT=GUICtrlCreateInput("", 384, 96, 180, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Output = GUICtrlCreateGroup("Output", 8, 256, 569, 161)
    ;~ $outputdirBUTTON = GUICtrlCreateButton("Ordner wählen...", 16, 280, 129, 33, 0)
    $outputINPUT = GUICtrlCreateInput("%1", 72, 384, 393, 21)
    $replaceCHECK = GUICtrlCreateCheckbox("", 168, 272, 17, 17)
    $replaceINPUT = GUICtrlCreateInput("", 240, 272, 97, 21)
    $Label1 = GUICtrlCreateLabel("mit", 344, 272, 25, 17)
    $withINPUT = GUICtrlCreateInput("", 384, 272, 145, 21)
    ;~ $countCHECK = GUICtrlCreateCheckbox("", 168, 312, 17, 17)
    $Label2 = GUICtrlCreateLabel("Ersetze", 184, 272, 39, 17)
    $Label3 = GUICtrlCreateLabel("Zählervariable %n; Start:", 186, 314, 122, 17)
    $startINPUT = GUICtrlCreateInput("", 320, 312, 25, 21)
    $Label4 = GUICtrlCreateLabel("Stellen:", 360, 312, 39, 17)
    $stellenINPUT = GUICtrlCreateInput("", 408, 312, 33, 21)
    $Dateiendung = GUICtrlCreateLabel("Dateiendung", 192, 344, 65, 17)
    $postfixreplaceCHECK = GUICtrlCreateRadio("ersetzen", 280, 336, 65, 17)
    $postfixappendCHECK = GUICtrlCreateRadio("anhängen", 280, 352, 65, 17)
    $postfixINPUT = GUICtrlCreateInput("", 360, 344, 49, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $startBUTTON = GUICtrlCreateButton("Umbenennen starten", 392, 16, 177, 49, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    GUIRegisterMsg($WM_COMMAND,"_update")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $inputINPUT
    Case $inputdirBUTTON
    _SetDir($inputINPUT)
    Case $filetypeCHECK
    If GUICtrlRead($filetypeCHECK) = $GUI_CHECKED Then
    _SetParams()
    Else
    GUICtrlSetData($filetypeINPUT,"")
    _SetParams()
    EndIf
    ;~ Case $outputdirBUTTON
    ;~ _SetDir($outputINPUT)
    Case $outputINPUT
    Case $replaceCHECK
    Case $replaceINPUT
    Case $withINPUT
    ;~ Case $countCHECK
    Case $startINPUT
    Case $stellenINPUT
    Case $Dateiendung
    Case $postfixreplaceCHECK
    Case $postfixappendCHECK
    Case $postfixINPUT
    Case $startBUTTON
    _RenderRename()
    EndSwitch
    WEnd
    Func _SetDir($hHandle)
    Local $params
    $old=GUICtrlRead($hHandle)
    $folder=FileSelectFolder("Ordner auswählen","")
    If not FileExists($folder) Then Return
    If $old <> "" Then
    $bspos=StringInStr($old,"\",Default,-1)
    $params=StringTrimLeft($old,$bspos)
    EndIf
    If StringRight($folder,1) <> "\" Then $folder=$folder & "\"

    Switch $hHandle
    Case $inputINPUT
    If $params="" Then $params="*.*"
    ;~ Case $outputINPUT
    ;~ If $params="" Then $params="%1"
    EndSwitch
    $folder=$folder & $params
    GUICtrlSetData($hHandle,$folder)
    EndFunc
    Func _update()
    ;~ TrayTip("","Command",1)
    If $oldFILETYPE <> GUICtrlRead($filetypeINPUT) And GUICtrlRead($filetypeCHECK) = $GUI_CHECKED Then _SetParams()
    $oldFILETYPE=GUICtrlRead($filetypeINPUT)
    EndFunc
    Func _SetParams()
    $filetype=GUICtrlRead($filetypeINPUT)
    $old=GUICtrlRead($inputINPUT)
    $bspos=StringInStr($old,"\",Default,-1)
    $params=StringTrimLeft($old,$bspos)
    ;~ MsgBox(0,"",$params)
    $prefix=StringLeft($params,StringInStr($params,".",Default,-1)-1);TrimRight
    If $prefix="" Then $prefix=$params
    ;~ MsgBox(0,"",$prefix)
    $folder=StringLeft($old,$bspos)
    If $filetype="" Then $filetype="*"
    ;~ MsgBox(0,"",$prefix & "." & $filetype)
    GUICtrlSetData($inputINPUT,$folder & $prefix & "." & $filetype)
    EndFunc
    Func _RenderRename()
    Local $boolReplace=False, $boolPostfixReplace=False,$boolPostfixAppend=False
    $data=GUICtrlRead($inputINPUT)
    $bspos=StringInStr($data,"\",Default,-1)
    $params=StringTrimLeft($data,$bspos)
    $folder=StringLeft($data,$bspos)
    $FILES_OLD=_FileListToArray($folder,$params,1)
    _ArrayDisplay($FILES_OLD)
    If GUICtrlRead($replaceCHECK) = $GUI_CHECKED Then $boolReplace=True
    If GUICtrlRead($postfixreplaceCHECK) = $GUI_CHECKED Then $boolPostfixReplace=True
    If GUICtrlRead($postfixappendCHECK) = $GUI_CHECKED Then $boolPostfixAppend=True
    $rep=GUICtrlRead($replaceINPUT)
    $with=GUICtrlRead($withINPUT)
    $startCOUNT=GUICtrlRead($startINPUT)-1
    If $startCOUNT = -1 Then $startCOUNT = 0
    $stellenCOUNT=GUICtrlRead($stellenINPUT)
    If $stellenCOUNT = "" Then $stellenCOUNT = "-"
    For $COUNTER=1 To $FILES_OLD[0] Step 1
    $postfixorig=StringTrimLeft($FILES_OLD[$COUNTER],StringInStr($FILES_OLD[$COUNTER],".",Default,-1))
    $newname=GUICtrlRead($outputINPUT)
    $newname=StringReplace($newname,"%1",$FILES_OLD[$COUNTER])
    $newname=StringReplace($newname,"%e",$postfixorig)
    If $boolReplace Then $newname=StringReplace($newname,$rep,$with)
    $newname=StringReplace($newname,"%n",StringFormat("%0" & $stellenCOUNT & "d",$COUNTER+$startCOUNT))
    If $boolPostfixReplace Then $newname=_ReplacePostfix($newname,GUICtrlRead($postfixINPUT))
    If $boolPostfixAppend Then $newname &= GUICtrlRead($postfixINPUT)
    FileMove($folder & $FILES_OLD[$COUNTER],$folder & $newname)
    ;~ MsgBox(64,$folder & $FILES_OLD[$COUNTER],$folder & $newname)
    Next
    MsgBox(0,"RenamR","Alle Dateien wurden umbenannt")
    EndFunc
    Func _toggle($hHandle)
    If $hHandle = $GUI_CHECKED Then
    GUICtrlSetData($hHandle,$GUI_UNCHECKED)
    Else
    GUICtrlSetData($hHandle,$GUI_CHECKED)
    EndIf
    EndFunc
    Func _ReplacePostfix($string,$postfix)
    If not StringinStr($string,".") Then return $string & "." & $postfix
    Return StringLeft($string,StringInStr($string,".",Default,-1)-1) & "." & $postfix
    EndFunc

    [/autoit]
  • klitzekleines Ini read problem

    • L3viathan
    • 9. Mai 2009 um 21:04
    [autoit]

    $passwort=IniRead(@ProgramFilesDir & "/passwort.ini","Lock.exe","Passwort","")

    [/autoit]
  • Protokolle registrieren

    • L3viathan
    • 9. Mai 2009 um 20:54

    :thumbup:

  • Protokolle registrieren

    • L3viathan
    • 9. Mai 2009 um 18:07

    Nö, ich möchte das mit dem Protokoll machen, damit ich auf z.b. meiner Webseite Links dazu posten kann.
    (Außerdem interessierts mich einfach... :) )

  • Protokolle registrieren

    • L3viathan
    • 9. Mai 2009 um 16:31

    Werte Gemeinde,
    ich habe mal wieder eine Frage:
    Wie kann man Protokolle mit einem Programm verknüpfen? Dass also, wenn der Benutzer auf den Link:
    meinprog://bla
    klickt, mein Programm gestartet wird, mit dem Parameter "bla".
    Bei Skype und anderen geht das doch auch...
    Danke schonmal für die potentiellen Lösungen,
    L3viathan

    P.S.: Schon gegoogled und geSuFut.

  • Prozess mit Password locken.

    • L3viathan
    • 9. Mai 2009 um 16:11

    Ein bisschen verallgemeinert:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.0.0
    Author: DjDominik , L3viathan2142
    Script Function:
    Zum Starten eines Bestimmten Prozesses wird
    Ein Passwort verlangt.
    #ce ----------------------------------------------------------------------------
    ; Script Start
    ; X Was zu Machen ist!
    ; X
    ; X 1 = Startet des Prozess den ihr locken möchtet
    ; X 2 = Guckt im Taskmanager nach wie der Prozess heist zb.: taskmgr.exe
    ; X 3 = Ersetzt den String $process mit eurem Prozessnamen
    ; X 4 = Ändert das Passwort
    ; X 5 = Kompiliert en Script , damit niemand das password sehen kann.
    ; X 6 = Start das soeben Kompilierte Programm.

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

    $process="Euer Prozess"
    $PASS="Euer Password"
    While True
    If ProcessExists($process) Then
    ProcessClose($process)
    $pw=InputBox($process & " gesperrt","Passwort eingeben","","*")
    If $pw=$PASS Then _StartProcess()
    EndIf
    sleep(100)
    WEnd
    Func _StartProcess()
    ShellExecute($process)
    Do
    Sleep(1000)
    Until not ProcessExists($process)
    EndFunc

    [/autoit]


    Anmerkungen: Sicher ist das nicht.
    1.) muss der Process geschützt werden, z.B. durch einen zweiten Process
    2.) Das einzige, was man zum Hacken machen muss, ist das verbotene Programm starten, auf die Inputbox warten, nix klicken, sondern einfach das verbotene Programm nochmal starten...
    Ansonsten: Gute Arbeit ;)

  • Tastatur sperren?

    • L3viathan
    • 9. Mai 2009 um 13:05

    Suma BlockInputEx

  • JavaProgramm starten

    • L3viathan
    • 8. Mai 2009 um 23:43

    Das waren ja mal zwei sinnvolle Antworten...
    Ich meine folgendes:

    [autoit]

    Run("java -jar " & $jarfile)

    [/autoit]
  • Knoblix - Das Knobelspiel - Beta 1.0.1

    • L3viathan
    • 8. Mai 2009 um 17:26

    da kann ich einen Tipp beisteuern: PHP

  • Taskleiste verschwinden lassen

    • L3viathan
    • 8. Mai 2009 um 16:28

    und

    [autoit]


    WinMinimizeAll()
    GUISetState(@SW_RESTORE)

    [/autoit]
  • Hotkey

    • L3viathan
    • 8. Mai 2009 um 16:27

    In der Hilfe zu _isPressed

  • Hotkey

    • L3viathan
    • 8. Mai 2009 um 16:21

    misc.au3
    das sind die Ergebnisse?
    dann sind es F9 und F12

  • Editor für BASIC

    • L3viathan
    • 8. Mai 2009 um 16:08

    Genau :D
    So à la

    Code
    1     Bla
    10   Bla
    20  Goto 10
  • Wie Dateinamen auslesen durch Pfadangabe zur Datei.

    • L3viathan
    • 8. Mai 2009 um 16:06
    [autoit]


    $array=StringSplit("C:\Users\Administrator\Desktop\s1\S2\s2.exe","\")
    MsgBox(0,"",StringTrimRight($array[$array[0]],4))

    [/autoit]
  • Hotkey

    • L3viathan
    • 8. Mai 2009 um 16:01

    Vieleicht so:

    [autoit]


    Sleep(3000);Jetzt rot gedrückt halten
    For $i=1 To 255
    If _isPressed(Hex($i)) Then Msgbox(64,"Die Taste war",Hex($i))
    Next

    [/autoit]
  • Editor für BASIC

    • L3viathan
    • 8. Mai 2009 um 15:04

    Stilgar: Es gibt natürlich viele Dialekte, aber das BASIC ist ja wohl das Urbasic von 1964 (:rofl: )

  • HastyNotes 3.2

    • L3viathan
    • 7. Mai 2009 um 20:27

    "Alles markieren" + HotKey (nicht nur per Kontextmenü)
    wofür ist die blaue Leiste unten?
    Beliebig viele Tabs, Tabs benennbar.

    So, ich denke das reicht erstmal

  • Transparentes Gui? :o

    • L3viathan
    • 7. Mai 2009 um 20:26

    Fenster setzt man transparenz per

    [autoit]

    WinSetTrans("Titel",Transparenz von 0 bis 255)

    [/autoit]
  • Editor für BASIC

    • L3viathan
    • 7. Mai 2009 um 20:20

    Ich würde dir gerne dabei helfen bzw. ihn mitentwickeln.
    Bei Basic gibts Compiler und Interpreter, zum Beispiel hier: http://www.codingcrew.de/programmierung/qbasic.php
    Ansonsten könen wir ja einen einfachen GUICtrlCreateEdit-basierten Editor machen...

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™