Estou tentando fazer um script em lote ou PowerShell que:
Primeiro: Esvazia a pasta C:\backup\
Segundo: Cria uma nova pasta com a data de hoje em c:\backup\
Terceiro: Copia 2 pastas c:\123 e c:\456 para a nova pasta criada em c:\backup\
Alguém sabe como fazer isso funcionar?
Além disso, se possível, ocultar/iniciar o lote minimizado e também ocultar/minimizar o explorador de arquivos ao copiar as pastas. Obrigado pela ajuda!
Responder1
Este script do PowerShell deve fazer o que você precisa.
$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, você terá que editar os caminhos para corresponder ao que você realmente usará, mas isso deve orientá-lo na direção certa.
Muito importante:Como acontece com qualquer código encontrado na Internet, você provavelmente não deveria testar isso primeiro em dados reais. Testei isso em minha máquina com os caminhos acima, mas sua milhagem pode variar.
Para iniciar o script minimizado, crie um atalho ou execute o seguinte na linha de comando:
Start PowerShell.exe 'C:\PathToScript\dated-backup.ps1' -WindowStyle Minimized