Lote/Powershell - Directorio vacío - mkdir con la fecha de hoy - carpetas de respaldo

Lote/Powershell - Directorio vacío - mkdir con la fecha de hoy - carpetas de respaldo

Estoy intentando crear un script por lotes o de PowerShell que:

Primero: Vacía la carpeta C:\backup\

Segundo: crea una nueva carpeta con la fecha de hoy dentro de c:\backup\

Tercero: Copia 2 carpetas c:\123 y c:\456 a la nueva carpeta creada en c:\backup\

¿Alguien sabe cómo hacerlo funcionar?

Además, si es posible, ocultar/iniciar el lote minimizado y también ocultar/minimizar el explorador de archivos cuando copia las carpetas. ¡Gracias por la ayuda!

Respuesta1

Este script de PowerShell debería hacer lo que necesita.

$dateFoldername = Get-Date -Format "yyyy-MM-dd"
$backupFoldername = "C:\backup\" + $dateFoldername` 
Remove-Item c:\backup\* -recurse -force
New-Item $backupFoldername -ItemType directory 
Copy-Item -Recurse "C:\123" $backupFoldername
Copy-Item -Recurse "C:\456" $backupFoldername

Obviamente, tendrás que editar las rutas para que coincidan con lo que realmente vayas a utilizar, pero esto debería guiarte en la dirección correcta.

Muy importante:Al igual que con cualquier código que encuentre en Internet, probablemente no debería probarlo primero con datos reales. Probé esto en mi máquina con las rutas anteriores; sin embargo, su kilometraje puede variar.

Para iniciar el script minimizado, cree un acceso directo o ejecute lo siguiente desde la línea de comando:

Start PowerShell.exe 'C:\PathToScript\dated-backup.ps1' -WindowStyle Minimized

información relacionada