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