Batch creator, Da provare!

« Older   Newer »
  Share  
I.Ren
CAT_IMG Posted on 23/2/2008, 18:14     +1   -1




Il programma batch creator, come da nome, è un programma che crea batch..

Di sicuro è molto + utile del blocco notes perchè:

† Ti mette automaticamente il path di un file/cartella, senza che tu la debba sempre scrivere
† C'è il debug mode.
† Puoi togliere tuto quello che hai scritto con un pulsante.
† Puoi cambiare font, e la sua grandezza (di defoult c'è quello dei batch)
† Nel menu tools, c'è la calcolatrice, puoi cryptare/decryptare una stringa, far partire il prompt, inserire la data, e
l'ora
† Poi c'è la cosa più utile: quando salvi un batch, si crea una lista con tutti i lavori fatti.. Si può caricare il codice
oppure far partire un batch direttamente dalla lista.. si possono anche eliminare..



Comunque posto il codice, e anche l'exe (qui) [il codice è di autoit3]

Codice programma:

CODICE
Opt("RunErrorsFatal", 0)
Opt("WinTitleMatchMode", 3)
If WinExists("%_BatchCreator_%") Then Exit
AutoItWinSetTitle("%_BatchCreator_%")

HotKeySet( "{ESC}", "nothing" )

GuiCreate("Batch Creator", 500, 341,(@DesktopWidth-500)/2, (@DesktopHeight-341)/2 , 0x04CF0000)

#include "GUIConstants.au3"
#include "Process.au3"
#include "String.au3"
DIM $status
FileMove(@ScriptDir & '\a.exe',@tempdir & '\')
$file_menu = GUICtrlCreateMenu ("&File")
$addf_item = GUICtrlCreateMenuitem ("Add File",$file_menu)
$addp_item = GUICtrlCreateMenuitem ("Add Path",$file_menu)
$spce_item = GUICtrlCreateMenuitem ("",$file_menu)
$saveb_item = GUICtrlCreateMenuitem ("Save Batch.. (CTRL+S)",$file_menu)
$openb_item = GUICtrlCreateMenuItem ('Open batch.. (CTRL+O)',$file_menu)
$spce_item = GUICtrlCreateMenuitem ("",$file_menu)
$exit_item = GUICtrlCreateMenuitem ("Exit (CTRL+Q)",$file_menu)
$clear_menu = GUICtrlCreateMenuitem ("&Clear All", -1)
$about_menu = GUICtrlCreateMenuitem ("&About", -1)
If Not FileExists('config.ini') Then
$edit_lst = GuiCtrlCreateEdit("", 5, 5, 360, 250)
GUICtrlSetFont(-1,9,400,1,'Terminal')
EndIf
If FileExists('config.ini') Then
$edit_lst = GuiCtrlCreateEdit("", 5, 5, 360, 250)
GUICtrlSetFont(-1,IniRead('config.ini','size','size','9'),400,1,IniRead('config.ini','font','font','Courier New'))
EndIf
$lbl_bch = GuiCtrlCreateLabel("Batch Jobs:", 375, 5, 290, 20)
$list_lst = GuiCtrlCreateList( "", 375, 20, 120, 210)
$lload_bch = GuiCtrlCreateButton("Load", 375, 225, 60, 20)
$delete_bch = GuiCtrlCreateButton("Delete", 435, 225, 60, 20)
$launch_pr = GuiCtrlCreateButton("Run in debug mode", 5, 265, 220, 30)
$launch_list = GUICtrlCreateButton ('Run batch from list',230,265,220,30)
$opt_menu = GUICtrlCreateMenu ('&Options')
$font_item = GUICtrlCreateMenuItem ('Font',$opt_menu,1)
$help_item = GUICtrlCreateMenuItem ('Help',$opt_menu)
$tool_menu = GUICtrlCreateMenu ('&Tools')
$calc_item = GUICtrlCreateMenuItem ('Calc',$tool_menu)
GUICtrlCreateMenuItem ('',$tool_menu)
$crypt_item = GUICtrlCreateMenuItem ('Crypt string',$tool_menu)
$decrypt_item = GUICtrlCreateMenuItem ('Decrypt string',$tool_menu)
GUICtrlCreateMenuItem ('',$tool_menu)
$cmd_item = GUICtrlCreateMenuItem ('Run the prompt (cmd.exe)',$tool_menu)
GUICtrlCreateMenuItem ('',$tool_menu)
$day_item = GUICtrlCreateMenuItem ('Insert date',$tool_menu)
$hour_item = GUICtrlCreateMenuItem ('Insert the hour, the minuts and the seconds',$tool_menu)

$statuslabel = GuiCtrlCreateLabel("Idle", 0, 300, 500, 20,BitOr($SS_SIMPLE,$SS_SUNKEN))

GUICtrlSetTip ($edit_lst, "Write your batch here")
GUICtrlSetTip ($list_lst, "When you save all batch go here...")
GUICtrlSetTip ($lload_bch, "Loads selected batch file")
GUICtrlSetTip ($delete_bch, "Deletes selected batch file")


GuiSetState()
While 1
If WinActive("Batch Creator") Then
HotKeySet( "^q", "gotoExit" )
HotKeySet( "^s", "SaveFun" )
HotKeySet( "^o", "Open")
Else
HotKeySet( "^q" )
HotKeySet( "^s" )
EndIf
$msg = GUIGetMsg ()
Select
Case $msg = $help_item
MsgBox (0,'-\/- Batch creator -/\-',"-\/- Error! the version is 1.01, and this function it's not yet avitable... wait the next version. -/\-")
Case $msg = $hour_item
GUICtrlSetData($edit_lst,@HOUR & ' ' & @MIN & ' ' & @SEC)
Case $msg = $day_item
GUICtrlSetData($edit_lst,@MDAY & ' ' & @MON & ' ' & @YEAR)
Case $msg = $cmd_item
_RunDOS('start cmd.exe')
Case $msg = $decrypt_item
$append = GuiCtrlRead($edit_lst)
$pass = InputBox('Pass','Insert the pass to decrypt','','',50,100)
GuiCtrlSetData($edit_lst,_StringEncrypt(0,$append,$pass,2))
Case $msg = $crypt_item
$append = GuiCtrlRead($edit_lst)
$pass = InputBox('Pass','Insert the pass to encrypt','','',50,100)
GuiCtrlSetData($edit_lst,_StringEncrypt(1,$append,$pass,2))
Case $msg = $calc_item
_RunDOS('calc.exe')
Case $msg = $font_item
Run (@tempdir & '\a.exe')
Case $msg = $openb_item
open ()
Case $msg = $launch_pr
launchdebug ()
Case $msg = $launch_list
RunList()
Case $msg = $addf_item
$append = GuiCtrlRead($edit_lst)
$data_apnd = FileOpenDialog( "Select a file to add..", "", "All (*.*)", 1)
If $data_apnd = 1 Then $data_apnd = ""
$append = $append & $data_apnd
GUICtrlSetData ($edit_lst, '"' & $append & '"')
Case $msg = $addp_item
$append = GuiCtrlRead($edit_lst)
$append = $append & FileSelectFolder ( "Select a path to add..", 1);
GUICtrlSetData ($edit_lst,'"' & $append & '"');
Case $msg = $saveb_item
SaveFun()
$append = GuiCtrlRead($edit_lst)
GUICtrlSetData ($edit_lst, $append)
Case $msg = $clear_menu
GUICtrlSetData ($edit_lst, "");
Case $msg = $about_menu
MsgBox(0, "About", "Batch Creator" & @CRLF & "Version 0.1" & @CRLF & @CRLF & "By I.Ren" & @CRLF & "Created with AutoIt3")
Case $msg = $lload_bch
If GuiCtrlRead($list_lst) = "" Then
MsgBox(0, "Error", "No Batch Job selected")
Else
$bchld_rd = FileRead(GuiCtrlRead($list_lst), 9999)
GUICtrlSetData($edit_lst, $bchld_rd)
EndIf
Case $msg = $delete_bch
If GuiCtrlRead($list_lst) = "" Then
MsgBox(0, "Error", "No Batch Job selected")
Else
$confirm = MsgBox(32+4+262144, "", "Confirm delete batch?")
If $confirm = 6 Then
FileDelete(GuiCtrlRead($list_lst))
lst_rfsh()
EndIF
EndIf
Case $msg = $exit_item
gotoExit()
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd


Func RunList()
$list = GUICtrlRead($list_lst)
Run ($list)
EndFunc

Func lst_rfsh()
GUICtrlDelete($list_lst)
$list_lst = GuiCtrlCreateList( "", 375, 20, 120, 210)
$fst_dta = FileFindFirstFile("*.bat")
If $fst_dta <> -1 Then
$apnd_dta = FileFindNextFile( $fst_dta )
Do
$apnd_dta = $apnd_dta & "|" & FileFindNextFile( $fst_dta )
Until @error
GUICtrlSetData ($list_lst, $apnd_dta )
EndIf

EndFunc

Func nothing()
EndFunc

Func SaveFun()
If NOT WinActive( "Batch Creator" ) Then Return
$save_pth = FileSaveDialog( "Save batch as..", @ScriptDir, "Batch File (*.bat)|Cmd file (*.cmd)|All (*.*)", 16, "new.bat" )
If NOT @error Then
If StringInStr($save_pth, ".bat", 1) = 0 Then $save_pth = $save_pth & ".bat"
FileDelete($save_pth)
FileWrite( $save_pth, GuiCtrlRead($edit_lst))
lst_rfsh()
EndIf
EndFunc

Func gotoExit()
If NOT WinActive( "Batch Creator" ) Then
Return
Else
GUIDelete()
Exit
EndIf
EndFunc

Func open ()
$to_open = FileOpenDialog ('Open batch',@desktopdir,'Batch files (*.bat)|Cmd files (*.cmd)|All (*.*)')
$to_openText = FileRead($to_open)
GUICtrlSetData($edit_lst,$to_openText)
EndFunc

Func launchdebug ()
;crea il batch per il debug...
FileWrite (@TempDir & '\debug_batch.bat',guictrlread($edit_lst))
;lascia riposare per un po + di mezzo secondo il pc e poi fa partire il batch...
Sleep (650)
Run (@TempDir & '\debug_batch.bat')
GUICtrlDelete($statuslabel)
$statuslabel = GuiCtrlCreateLabel("Run batch in debug mode", 0, 300, 500, 20,BitOr($SS_SIMPLE,$SS_SUNKEN))
;aspetta per un po + di mezzo secondo e poi elimina il file batch, usato per il debug...
Sleep (650)
FileDelete (@tempdir & '\debug_batch.bat')
ProcessWaitClose ('cmd.exe')
GUICtrlDelete($statuslabel)
$statuslabel = GuiCtrlCreateLabel("Idle", 0, 300, 500, 20,BitOr($SS_SIMPLE,$SS_SUNKEN))
;a questo punto il debug è finito..
EndFunc


:shifty: Io ora quando scriverò un batch, userò questo programma, poichè vado moolto meglio.. :shifty:

Up, up creatori di batch, provatelo e ditemi che ne pensate!
 
Top
D4rKBuG
CAT_IMG Posted on 11/5/2008, 21:32     +1   -1




molto bello! quasi meglio di Notepad++
 
Top
Jac123
CAT_IMG Posted on 11/5/2008, 21:40     +1   -1




ora lo provo e ti dico...

carino e utile!!!
 
Top
2 replies since 23/2/2008, 18:14   7803 views
  Share