Ayuda de watchDirectory > Extensiones > Nombres dinámicos
Los nombres dinámicos permiten dar a los archivos y carpetas "destino" un nombre basado en el archivo detectado y la fecha y hora actuales.
Los nombres dinámicos son soportados por varias extensiones de watchDirectory:
Copiar archivos de forma automática,
Clasificar archivos de forma automática,
Descomprimir archivos de forma automática,
Comprimir archivos de forma automática,
Subir archivos (FTP) de forma automática (las barras invertidas se sustituyen automáticamente por barras normales) y
Renombrar archivos de forma automática
Un ejemplo de nombre dinámico sería:
D:\Destino\{year}{month}{day}\{hour24}\{extension}\{filename}Cuando se detectara el archivo "Hola.txt", el nombre dinámico se traduciría en :
D:\Destino\20051231\23\txt\Hola.txt(dependiendo del día y hora en el cual el archivo sea detectado).
Las nuevas carpetas se crearán siempre de forma automática cuando sea necesario.
Etiquetas soportadas al usar nombres dinámicos
Los valores de ejemplo se refieren al archivo C:\Monitorizada\subcarpeta\sub\archivo.txt, siendo C:\Monitorizada la carpeta que se está monitorizando.
Etiqueta | Descripción | Valor de ejemplo |
---|---|---|
{drive} | La letra de la unidad de disco de la carpeta monitorizada. Estará vacía cuando se monitorice un nombre UNC. | C |
{dir} | La carpeta donde se encuentra el archivo detectado. | Monitorizada\subcarpeta\sub |
{monitoreddir} | La carpeta que está siendo monitorizada por la tarea. | Monitorizada |
{relativedir} | Si el nuevo archivo ha sido detectado dentro de una subcarpeta de la carpeta monitorizada, esta variable contendrá el nombre completo de la subcarpeta. | subcarpeta\sub |
{firstdir} | La primera carpeta que se encuentre justo debajo de la carpeta monitorizada. | subcarpeta |
{parentdir} | El nombre de la carpeta en la que se ha encontrado el archivo. | sub |
{filename} | El nombre y extensión del archivo. | archivo.txt |
{filetitle} | El nombre sin extensión del archivo. | archivo |
{extension} | La extensión del archivo. | txt |
{originalfull} | La ruta completa del archivo. | Monitorizada\subcarpeta\sub\archivo.txt |
{originalrelative} | La ruta del archivo, empezando desde la carpeta monitorizada. | subcarpeta\sub\archivo.txt |
{owner} | El nombre de usuario propietario del archivo. Cuando se esté editando una tarea, el nombre siempre se mostrará como "John", pero cuando la tarea se ejecute, será sustituido por el nombre del propietario real. | John |
Varias etiquetas relativas a la fecha y hora, como pueden ser {year} (año), {monthname} (nombre del mes) y {hour24} (hora en formato 24 horas), cuyos valores deberían ser obvios. Estas etiquetas relativas a la fecha y hora usan la hora actual del sistema. Si se desea utilizar la marca de fecha/hora del archivo detectado en su lugar, se puede añadir una de las siguientes opciones a la etiqueta: ":cr" (cuándo se creó el archivo "created"), ":lm" (cuándo se modificó el archivo por última vez "last modified") o ":la" (cuándo se accedió al archivo por última vez "last accessed). Así, por ejemplo, {monthname} usa la hora del sistema para obtener el nombre del mes, pero {monthname:lm} usa la información de la marca fecha/hora de última modificación del archivo para determinar el nombre del mes. |
||
También es posible realizar algunos cálculos aritméticos limitados sobre estas fechas y horas.
Supongamos que se quiere utilizar la fecha de última modificación como un nombre dinámico, por ejemplo Para cambiar la fecha/hora del sistema, usar {cu:+1d} (cu = actual) |
||
{taskname} | El nombre asignado a la tarea. | AutoCopia |
{runnumber} | El número asignado por watchDirectory a esta ejecución. Este número se puede usar para encontrar más información dentro del Visor del histórico de tareas. | 17 |
{eventnumber} | El identificador único asignado por watchDirectory al evento actual. Este número se puede usar para encontrar más información dentro del Visor del histórico de tareas, pero también para crear una carpeta o nombre de archivo únicos. Los "eventnumbers" son únicos por tarea. | 16292 |
Funciones soportadas al usar nombres dinámicos
Función | Descripción | Ejemplo |
---|---|---|
{left{num,texto}} | Devuelve los primeros "num" caracteres de "texto". | {left{3,{extension}XXX}}
Devolverá los 3 primeros caracteres de la extensión del archivo. Para archivos sin extensión, devuelve XXX. |
{right{num,texto}} | Devuelve los últimos "num" caracteres de "texto" | {right{5,00000{runnumber}}}
Devolverá un "runnumber" de 5 dígitos rellenado con ceros a la izquierda. |
{substring{inicio,longitud,texto}} | Devuelve "longitud" caracteres de "texto", empezando desde la posición "inicio". El primer caracter del texto es la posición 0 (cero). | {substring{0,3,{monthname}}}
Devolverá la cadena "Oct" (cuando el mes sea octubre). |
{reverse{texto}} | Devuelve "texto" invertido | {reverse{abc}}
Devolverá la cadena "cba". |
{lower{texto}} | Devuelve "texto" en minúsculas | {lower{{monthname}}}
Devolverá la cadena "octubre" (cuando el mes sea octubre). |
{upper{texto}} | Devuelve "texto" en mayúsculas | {upper{{monthname}}}
Devolverá la cadena "OCTUBRE" (cuando el mes sea octubre). |
{title{texto}} | Devuelve "texto" en "modo título" - La primera letra de cada palabra en mayúsculas, el resto de caracteres en minúsculas. | {title{{filename}}}
Devolverá la cadena "Hola Mundo.txt" (cuando se detecte el archivo "HOLA MUNDO.txt"). |
{stringbefore{buscar,cadenacompleta}} | Devuelve el texto de "cadenacompleta" hasta "buscar", o "cadenacompleta" si no se encuentra "buscar". | {stringbefore{ubre,{monthname}}}
Devolverá la cadena "Oct" si el mes es Octubre. |
{stringafter{buscar,cadenacompleta}} | Devuelve el texto de "cadenacompleta" empezando después de "buscar", o "cadenacompleta" si no se encuentra "buscar". | {stringafter{_,{filetitle}}}
Devolverá todo el texto que se encuentre después del guión bajo del nombre del archivo. |
{cutright{num,texto}} | Elimina los últimos "num" caracteres de "texto". | {cutright{4,abcdefg}}
Devolverá la cadena abc. |
{environment{nombrevariable}} | Devuelve el valor de una variable de entorno. Si se ejecuta watchDirectory como un servicio, solo estarán disponibles las variables de entorno del sistema. | {environment{COMPUTERNAME}}
Devolverá la cadena "MI-EQUIPO" (si su equipo se llama así). |
{replace{viejo,nuevo,cadena}} | Esta función busca la existencia de cadenas "viejo" dentro de "cadena" y las reemplaza por cadenas "nuevo". Si no se encuentra "viejo", no se modifica nada. Si "nuevo" está vacío, todas las cadenas "viejo" encontradas se borran. | {replace{\,/,{originalfull}}}
Esto reemplazará todas las barras invertidas por barras normales.
Si {originalfull} es Monitorizar\subcarpeta\sub\archivo.txt, Esto eliminará todas las barras invertidas.
Si {originalfull} es Monitorizar\subcarpeta\sub\archivo.txt, |
{sequence{nombre-archivo-secuencia}} | Lee nombre-archivo-secuencia y lo carga en "counter", incrementa el valor de "counter" en 1 y lo escribe de vuelta en nombre-archivo-secuencia. Si el archivo no existe, se usa el valor "1", y se crea el archivo. Devuelve el nuevo valor de "counter". | {sequence{c:\Mis Datos\Secuencias\{taskname}.txt}}
Si esta función se utiliza en la tarea "AutoCopia", y el archivo C:\Mis Datos\Secuencias\AutoCopia.txt
no existe, se reemplaza por el número "1". Y este número se escribe en AutoCopia.txt. |
{random{bajo,alto}} | Devuelve un número aleatorio entre los límites "bajo" y "alto" (ambos inclusive). | {random{1,2}}
Devolverá aleatoriamente el número 1 o el número 2. |
{code{nombredll,parametros}} | Carga la DLL, que se debe encontrar en la carpeta <install dir>\Resolvers, y la llama con el parámetro indicado. Solo hay una dll instalada con watchDirectory, llamada resolveExample.dll. El código completo de este ejemplo se puede descargar aquí. ResolveExample comprueba si el parámetro pasado existe realmente. Si existe, devuelve <nombredearchivo>_1.extension (o _2 si _1 ya existe). Si el archivo no existe, devolverá el nombre del archivo "tal cual". |
{code{resolveExample.dll,{drive}:\{originalfull}}} |