需要一些帮助来创建脚本以删除日期字符串,并在SQL Server执行备份时添加“备份”。
格式为:DatabaseName_backup_2016_10_24_010000_6215942
。
开始于:
Get-ChildItem -path C:\temp\Backup\ -include *.bak
开始研究选项,同时寻找洞察力。打开使用其他脚本。
谢谢
答案 0 :(得分:0)
-whatif
$old = "DatabaseName_backup_2016_10_24_010000_6215942.bak"
$old -replace "([^_]+_)(backup_\d+_\d+_\d+_)(\d+_\d+\.bak)","`$1`$3"
#Result : DatabaseName_010000_6215942.bak
表示它实际上无法进行任何更改,只需告诉您它会做什么。
帮助链接(如果有):
Get-ChildItem
的别名(在模块Microsoft.PowerShell.Management中)Rename-Item
的别名(在模块Microsoft.PowerShell.Management中)答案 1 :(得分:0)
您可以使用例如正则表达式:
{{1}}
此处提供更多信息:https://powershell.org/2013/08/29/regular-expressions-are-a-replaces-best-friend/
答案 2 :(得分:0)
-whatif
开关才能使其正常工作。我重命名了文件夹中的所有SQL备份:
gci C:\SQL_backup\*.bak | ren -N { $_ -replace '_backup_\d+_\d+_\d+_\d+_\d+' } -whatif