需要删除文件中的日期字符串

时间:2016-11-01 20:11:02

标签: shell powershell command

需要一些帮助来创建脚本以删除日期字符串,并在SQL Server执行备份时添加“备份”。

格式为:DatabaseName_backup_2016_10_24_010000_6215942

开始于:

Get-ChildItem -path C:\temp\Backup\ -include *.bak

开始研究选项,同时寻找洞察力。打开使用其他脚本。

谢谢

3 个答案:

答案 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 表示它实际上无法进行任何更改,只需告诉您它会做什么。

帮助链接(如果有):

  • gci是Get-ChildItem的别名(在模块Microsoft.PowerShell.Management中)
  • ren是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