Quiero crear un archivo por lotes que elimine las carpetas en mi destino específico, luego copiar todas las carpetas modificadas después de las 7AM de ayer desde mi origen esto se debe a que quiero poder ejecutar esto diariamente, a las 7AM.
El sistema operativo que pretendo usar es Windows Server 2003.
Por lo tanto, básicamente quiero poder reemplazar el contenido actual de una carpeta, con todos los archivos modificados de las últimas 24 horas.
windows
batch
date-modified
Vipul
fuente
fuente
Respuestas:
Windows XP agregó una gran cantidad de funciones a los parámetros y comandos por lotes, pero no son tan fáciles de usar. Tenga mucho cuidado al citar ya que los archivos pueden contener espacios. He mantenido las citas en torno a los nombres de archivo, ya que es más útil de esa manera.
El lugar para comenzar con el proceso por lotes generalmente es "ayuda" (en un shell CMD, naturalmente). Luego "cmd /?", "Set /?", "For /?" y también el Sitio web de lotes de Microsoft . Esto es lo que he hecho: no está completo pero imprimirá los archivos modificados desde ayer a las 7 am. Puedo añadir más bits si quieres. Lo guardaré yo mismo, ya que a veces quiero saber qué archivos he cambiado hoy.
(Editado: ¡Ayer es más difícil que solo restar uno del día! ...)
Tenga en cuenta que hacer eco de VBScript en un archivo por lotes es propenso a errores y está desordenado. El método preferido es crear un archivo vbs fijo que pueda llamarse a voluntad. Otra forma es agregar el vbscript al final del archivo por lotes, marcar cada línea con una etiqueta, asegurarse de preceder al script con goto: EOF y usar findstr en el propio script para grep las cadenas (sí, es desagradable) :
Sí. No es agradable
fuente
Bueno, te recomiendo que instales PowerShell en ... desde cualquier dispositivo desde el que ejecutes esto, y podrías estar contento con los resultados.
Guárdalo como un as-you-want.ps1 , asegúrese de haber establecido su política de ejecución en Sin restricciones (o firme lo anterior y cambie a AllSigned) y ejecute!
fuente