
Cada vez que cambio un archivo, necesito copiarlo manualmente a otra carpeta, para que la versión actualizada exista allí. Lo sé mklink
, pero eso no es factible en mi caso.
¿Hay alguna manera de vincular un archivo bat al save
evento de un archivo en Windows? Porque si eso es posible, puedo crear un archivo bat para copiarlo automáticamente. Si no, ¿qué otras opciones podría tener, excluyendo mklink
.
Respuesta1
Puedes hacer esto en powershell.
En primer lugar, vaya y obtenga FileSystemWatcher desde aquí:https://gallery.technet.microsoft.com/scriptcenter/Powershell-FileSystemWatche-dfd7084b
No necesitas todo eso; lo he reducido a esto, que debería funcionar para ti:
$destination = "\\Location\file\should\go"
$folder = 'c:\scripts\test' # Enter the root path you want to monitor.
$filter = '*.*' # Enter filename here.
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
Register-ObjectEvent $fsw Changed -SourceIdentifier FileChanged -Action
{
$name = $Event.SourceEventArgs.Name
Copy-Item $name $destination -force
}
Esto sólo debería activarse cuando detecta un cambio en el archivo.
No lo he probado, pero debería estar lo suficientemente cerca como para que puedas continuar.
Necesitaría ejecutar este bit de PowerShell cada vez que inicie la máquina; un elemento de inicio o una tarea programada para iniciarla sería suficiente.
Respuesta2
Yo recomendaría usarSincronización de archivos gratuitospara mantener ese archivo sincronizado. FreeFileSync tiene una herramienta secundaria llamada RealtimeSync que activa una tarea de sincronización cada vez que detecta un cambio en una carpeta determinada. Sólo tiene que crear una tarea de sincronización para ese archivo y luego ejecutar RealtimeSync con esa tarea y se copiará 'automágicamente' cada vez que se modifique.
Para un tutorial completo verCómo sincronizar archivos y carpetas usando FreeFileSync en Windows
Nota importante al pie: aunque FreeFileSync es de código abierto y tiene licencia GPL, viene incluido con OpenCandy PUP/PUA, así que instálalo con la conexión de red desactivada o asegúrate de desmarcar la oferta de instalación de software basura. Además, puede descomprimir el instalador usando 7zip o PeaZip y ejecutarlo sin instalación.