Mal sehen.
Wer hat schon dutzende Ordner, die er nach Schema umbenennen will?
Beiträge von L3viathan
-
-
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>
[/autoit]
#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]
$passwort=IniRead(@ProgramFilesDir & "/passwort.ini","Lock.exe","Passwort","")
[/autoit] -
-
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...
) -
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,
L3viathanP.S.: Schon gegoogled und geSuFut.
-
Ein bisschen verallgemeinert:
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
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.$process="Euer Prozess"
[/autoit]
$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
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
-
Suma BlockInputEx
-
Das waren ja mal zwei sinnvolle Antworten...
[autoit]
Ich meine folgendes:Run("java -jar " & $jarfile)
[/autoit] -
da kann ich einen Tipp beisteuern: PHP
-
und
[autoit]
[/autoit]
WinMinimizeAll()
GUISetState(@SW_RESTORE) -
In der Hilfe zu _isPressed
-
misc.au3
das sind die Ergebnisse?
dann sind es F9 und F12 -
-
[autoit]
[/autoit]
$array=StringSplit("C:\Users\Administrator\Desktop\s1\S2\s2.exe","\")
MsgBox(0,"",StringTrimRight($array[$array[0]],4)) -
Vieleicht so:
[autoit]
[/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 -
Stilgar: Es gibt natürlich viele Dialekte, aber das BASIC ist ja wohl das Urbasic von 1964 (
) -
"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
-
Fenster setzt man transparenz per
[autoit]WinSetTrans("Titel",Transparenz von 0 bis 255)
[/autoit] -
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...