DOC*.
En ese caso
1.- Nos avisa que nos ha entrado.
2.- Nos da la opción de cambiar el nombre
3.- Lo visualiza con su programa por defecto, con lo que podemos copiarlo, modificarlo o ver si se escaneó bien.
No gasta nada de recursos ni de memoria ni de procesador.
Aparece un icono al lado del reloj por si queremos cerrarlo.
Siempre tenemos que cambiar el nombre a los ficheros que empiecen por DOC*, con lo que no tendremos ningún archivo llamado "documentación"
Si alguien desea modificarlo o crear alguna mejora puede aportar, gracias.
PD:
Versión 2:
- Mejora para varios escaneres, y varias rutas, con varios patrones de ficheros producidos por el escaner.
- Añadido fichero nuevoscanner.ini para guardar un patrón y una ruta (en pareja).
Código: Seleccionar todo
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=nuevoscanner.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <MsgBoxConstants.au3>
;Credits Basicos at autoit.es
If not FileExists("nuevoscanner.ini") then
IniWrite("nuevoscanner.ini","Configurar","Ruta","C:\escaner\")
IniWrite("nuevoscanner.ini","Configurar","Patron_Nombres","DOC*.*")
EndIf
$sRuta= IniRead("nuevoscanner.ini","Configurar","Ruta","C:\escaner\")
$sPatron=IniRead("nuevoscanner.ini","Configurar","Patron_Nombres","DOC*.*")
Global $aRuta=StringSplit($sRuta,","), $i
Global $aPatron=StringSplit($sPatron,",")
$sTodasRutas=""
#include <MsgBoxConstants.au3>
#include <TrayConstants.au3>
For $i=1 to $aRuta[0]
$sTodasRutas=$sTodasRutas&$aRuta[$i]&$aPatron[$i] & " y "
Next
$sTodasRutas=StringLeft($sTodasRutas,stringlen($sTodasRutas)-3)
TrayTip("Esperando escaners sin gastar recursos del PC", "En "&$sTodasRutas , 0, $TIP_ICONASTERISK)
While 1
For $i=1 to $aRuta[0]
if FileExists($aRuta[$i]) then Nuevosescaner($aRuta[$i]&$aPatron[$i])
Sleep(1000)
Next
sleep(3000)
WEnd
Func Nuevosescaner($Patron)
; Assign a Local variable the search handle of all files in the current directory.
Local $hSearch = FileFindFirstFile($Patron)
; Check if the search was successful, if not display a message and return False.
If $hSearch = -1 Then
; MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
Return False
EndIf
; Assign a Local variable the empty string which will contain the files names found.
Local $sFileName = "", $iResult = 0
While 1
$sFileName = FileFindNextFile($hSearch)
; If there is no more file matching the search.
If @error Then ExitLoop
; Display the file name.
$iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "Nuevo fichero desde el escaner", "Nombre: " & $sFileName)
If $iResult <> $IDOK Then ExitLoop ; If the user clicks on the cancel/close button.
ShellExecute($aRuta[$i]&$sFileName)
$sFileName1=StringLeft($sFileName,StringInStr($sFileName,".")-1)
$sFileName2=StringRight($sFileName,StringLen($sFileName)-StringInStr($sFileName,"."))
$sResult = InputBox("Cambiar de nombre escaneados","Escriba el nombre nuevo del "&$sFileName2,$sFileName1)
FileMove($aRuta[$i]&$sFileName,$aRuta[$i]&$sResult&"."&$sFileName2)
Sleep(500)
ShellExecute($aRuta[$i]&$sResult&"."&$sFileName2)
;ShellExecute($sRuta&$sResult&"."&$sFileName2)
WEnd
; Close the search handle.
FileClose($hSearch)
EndFunc ;==>Example