创建PowerShell脚本以备份文件并附加日期

Sam*_*ton 4 powershell cmdlet

目前我有一个批处理文件来备份文件.我需要备份文件时手动运行它.我想要添加的唯一内容是当前日期.这是我有的:

xcopy/W/Y ACTIVE.DB ACTIVE.DB.BACKUP

目标文件应该只是ACTIVE.DB.BACKUP.YYYYMMDD.我将如何创建一个脚本,允许我从Windows资源管理器中双击它并使xcopy发生?

Kei*_*ill 9

只是要指出你可以使用Copy-Item执行此操作,例如:

Set-Location $path
Copy-Item ACTIVE.DB "ACTIVE.DB.$(get-date -f yyyyMMdd)" -Force -Confirm
Run Code Online (Sandbox Code Playgroud)

如果你想要强大,那么我会使用robocopy.exe.


kbr*_*ton 5

您可以通过[datetime]::now在 PowerShell 中嵌入文件名中的格式来自定义文件名,如下所示:

xcopy /W /Y ACTIVE.DB "ACTIVE.DB.BACKUP.$([datetime]::now.ToString('yyyy-MM-dd'))"
Run Code Online (Sandbox Code Playgroud)

如果线路感觉很忙且无法维护,您可以将其重构为多条线路:

$now = [datetime]::now.ToString('yyyy-MM-dd')
xcopy /W /Y ACTIVE.DB "ACTIVE.DB.BACKUP.$now"
Run Code Online (Sandbox Code Playgroud)

为了获得双击执行,我通常制作一个运行 PowerShell 命令的批处理文件,如下所述:

为自动执行设置 PowerShell 脚本