Página 1 de 1

Organizar archivos

Publicado: 19 Ene 2013, 23:32
por PDF
Buenas... soy nuevo en este foro, ya hace unos meses que me inicié con la programación con AutoIt y desde hay visito mucho este foro me ha ayudado mucho para crear mis Scripts por lo que agradezco a todos los miembros :smt023 . Esta es mi contribución con el foro lo llamé File Manager ya que tenía un problema con eso de crear aplicaciones los iconos,Scripts y además al descargar los archivos quedaban muy desorganizados, solamente se selecciona el origen, la extensión y el destino :

Código: Seleccionar todo

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=File Move.ico
#AutoIt3Wrapper_Outfile=File Manager.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Comment=Administra tus archivos moviendolos fácilmente con File Manager
#AutoIt3Wrapper_Res_Description=Administra tus archivos moviendolos fácilmente
#AutoIt3Wrapper_Res_Fileversion=1.0.0.2
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Copyrigth (c) PDF 2013
#AutoIt3Wrapper_Res_Language=15370
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
FileInstall("File Move.ico",@TempDir&"\File Move.ico")
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("File Manager 1.0.0.0", 453, 458, -1, -1, -1, $WS_EX_ACCEPTFILES)
GUISetFont(10, 400, 0, "MS Sans Serif")
GUISetBkColor(0xBFCDDB)
$Group1 = GUICtrlCreateGroup("Introduce la carpeta de origen  del archivo a mover", 24, 112, 410, 81)
$Input1 = GUICtrlCreateInput("", 40, 144, 329, 24)
GUICtrlSetTip(-1, "Origen")
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button1 = GUICtrlCreateButton("...", 376, 144, 33, 25)
GUICtrlSetTip(-1,"Examinar")
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label4 = GUICtrlCreateLabel("Destino:", 184, 312, 61, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("Origen:", 192, 88, 54, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Group2 = GUICtrlCreateGroup("Introduce la carpeta de destino, si el destino no existe será creado:", 24, 329, 410, 81)
$Input2 = GUICtrlCreateInput("", 40, 360, 329, 24)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetTip(-1, "Destino")
$Button2 = GUICtrlCreateButton("...", 376, 360, 33, 25)
GUICtrlSetTip(-1,"Examinar")
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button3 = GUICtrlCreateButton("Salir", 224, 416, 105, 25)
$Button4 = GUICtrlCreateButton("Mover", 104, 416, 105, 25, $BS_DEFPUSHBUTTON)
$Group3 = GUICtrlCreateGroup("Extensión de los archivos a mover", 24, 200, 410, 105)
$Input3 = GUICtrlCreateInput("*.*", 40, 240, 89, 24)
GUICtrlSetTip(-1,"Introduce aquí el tipo de archivo que deseas mover")
$Label6 = GUICtrlCreateLabel("Introduce aquí la extensión del tipo ", 160, 240, 226, 20)
$Label7 = GUICtrlCreateLabel("de archivo que deseas mover Ej *.mp3", 160, 256, 238, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Icon1 = GUICtrlCreateIcon(@TempDir&"\File Move.ico", -1, 24, 8, 80, 80)
GUICtrlSetCursor (-1, 0)
GUICtrlSetTip(-1,"Acerca de..")
$Label1 = GUICtrlCreateLabel("File Manager", 120, 8, 218, 44)
GUICtrlSetFont(-1, 25, 800, 0, "Tahoma")
GUICtrlSetColor(-1, 0x6A6A6A)
$Label2 = GUICtrlCreateLabel("Administra tus archivos moviendolos fácilmente de acuerdo a su extensión", 120, 48, 294, 36)
WinSetTrans($Form1,"",0)
GUISetState(@SW_SHOW)
WinSetTrans($Form1,"",50)
WinSetTrans($Form1,"",100)
WinSetTrans($Form1,"",150)
WinSetTrans($Form1,"",200)
WinSetTrans($Form1,"",250)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE ,$Button3
			FileDelete(@TempDir&"\File Move.ico")
			WinSetTrans($Form1,"",200)
			WinSetTrans($Form1,"",150)
			WinSetTrans($Form1,"",100)
			WinSetTrans($Form1,"",50)
			WinSetTrans($Form1,"",0)
			Exit
		Case $Button1
			Origen()
		Case $Button2
			Destino()
		Case $Button4
			Mover()
        Case $GUI_EVENT_DROPPED
            GUICtrlSetData($Input1, StringRegExpReplace(GUICtrlRead($Input1), "(.*).*", "$1"))
		Case $Icon1
			_acercade()
	EndSwitch
WEnd


;Funciones
;Origen
Func Origen()
	$Origen=FileSelectFolder("Seleccione archivo","")
	If @error Then
		GUICtrlSetData($Input1,"")
	EndIf
	GUICtrlSetData($Input1,$Origen)
	GUICtrlSetTip($Input1,$Origen)
EndFunc
;Destino
Func Destino()
	$Destino=FileSelectFolder("Seleccione Destino:","")
	If @error Then
		GUICtrlSetData($Input2,"")
	EndIf
	GUICtrlSetData($Input2,$Destino)
	GUICtrlSetTip($Input2,$Destino)
EndFunc
;Mover
Func Mover()
	$sOrigen=GUICtrlRead($Input1)
	$sDestino=GUICtrlRead($Input2)
	$sExtension=GUICtrlRead($Input3)
	If Not FileExists($sDestino) Then
		DirCreate($sDestino)
	EndIf
	FileChangeDir($sOrigen)
	$sMover=$sExtension
		If Not FileMove($sMover,$sDestino) Then
			MsgBox(48,"File Manager","Error al mover el archivo")
		Else
			MsgBox(64,"File Manager","Se movió correctamente el archivo a "&$sDestino)
		EndIf
	EndFunc
Func _acercade()
		GUISetState(@SW_DISABLE, $Form1)
	Local $AcForm = GUICreate('  Acerca de', 329, 296, -1, -1, BitOR($WS_CAPTION, $WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE), $Form1)
	GUICtrlCreateIcon(@TempDir&"\File Move.ico", 99, 99, 10, 128, 128, BitOR($SS_NOTIFY, $WS_GROUP))
	GUICtrlCreateLabel('File Manager 1.0.0.0', 0, 145, 329, 33, $SS_CENTER)
	GUICtrlSetFont(-1, 18, 800, 0, 'Verdana')
	GUICtrlSetColor(-1, 0x6A6A6A)
	GUICtrlCreateLabel('Aplicación para administrar los archivos moviéndolos fácilmente de acuerdo a su extensión.',20,180,290,50,$SS_CENTER)
	Local $correo = GUICtrlCreateLabel('E-Mail: [email protected]', 0, 220, 329, 17, $SS_CENTER)
	GUICtrlSetTip($correo,"[email protected]")
	GUICtrlSetColor(-1, 0x0000FF)
	Local $2Button1 = GUICtrlCreateButton('&Aceptar', 77, 255, 175, 25)
	GUISetState(@SW_SHOW, $AcForm)
	Do
		Local $GMsg = GUIGetMsg()
		If $GMsg = $correo Then ClipPut("[email protected]")
	Until $GMsg = $GUI_EVENT_CLOSE Or $GMsg = $2Button1
	GUISetState(@SW_ENABLE, $Form1)
	GUIDelete($AcForm)
EndFunc
Espero que me ayuden a mejorar con sus comentarios, adjunto un comprimido con el script y el exe...Gracias.

Re: Organizar archivos

Publicado: 23 Ene 2013, 11:55
por BasicOs
Hola,
Está muy bien organizado el código con funciones para mejor lectura, :smt041 :smt041
lo único que falta un botón de ayuda para explicar que hace, si copia recursivamente los directorios, poniendolo como optativo.
También el GUICtrlCreateIcon, mejor un Botón..
También puedes hacer una opción para COPIAR o MOVER estos archivos..., facilmente con un if/then y un radio.
Si lo deseas también puedes poner un icono :)


Salu22:)