惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
Vercel News
Vercel News
Last Week in AI
Last Week in AI
H
Help Net Security
The Cloudflare Blog
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
I
InfoQ
U
Unit 42
美团技术团队
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
Y
Y Combinator Blog
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
宝玉的分享
宝玉的分享
量子位
博客园_首页

博客园 - 蔡秋心

Windows Azure VM的两种shut down 方式 转贴: A Simple c# Wrapper for ffMpeg PowerShell: 如何解决File **.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get- help about_sig" for more de 在localhost上使用fiddler 在SQL Server Business Intelligence Development Studio中编辑Dynamcis CRM中的Report Report Design: Best Practices and Guidelines Visual Studio使用小技巧6 – 为代码加上Using(Resolve using)和管理Using(Organize using) Visual Studio使用小技巧5 – 区块选择(box selection)的拷贝(copy)和粘贴(paste) Visual Studio使用小技巧4 – Where am I(在Solution Explorer中显示当前文档) Visual Studio使用小技巧3 – 标签分组(Tab Group)和分割窗口(Split window) Visual Studio使用小技巧2 – 使用任务列表(task list) - 补充 Visual Studio使用小技巧2 – 使用任务列表(task list) Visual Studio使用小技巧1 – HTML编辑器中的格式化 部署Dotnetnuke Site到虚拟目录和端口不为80的网站 asp.net使用COM组件需要的权限设置 前台线程(Foreground Threads)和后台线程(Background Threads) 在Dynamics CRM 的 Entity Form中显示记录的ID的方法 如何使用VS2005创建web安装包 使用Visual Studio中的Item Template
PowerShell: 找到一个目录下最新的文件
蔡秋心 · 2012-09-24 · via 博客园 - 蔡秋心

需求: sql server数据库每天备份到一个目录中, 文件名的Pattern是Discovery20120919.bak和Discovery20120919_log.bak 分别是数据库的Full backup和Log backup. 写一个脚本取得一个目录下最新的文件,并且文件名中包含Discovery但是却不包含log.

function FindLatestBackupFile([String]$backupPath, [String]$BackupFilePattern, [String]$ExcludeFilePattern)
{

    $LastBackup = dir $backupPath | Where-Object {!$_.PSIsContainer} | Where-Object {$_.name -like "*" +$BackupFilePattern+ "*.bak"} | Where-Object{ $_.name -notlike "*" + $ExcludeFilePattern+ "*.bak" }|  Sort-Object {$_.LastWriteTime} -Descending | Select-Object -First 1
    $LatestBackupFilePath = $LastBackup.FullName
    return $LatestBackupFilePath
}



$backupPath = "E:\temp"
$BackupFilePattern = "Discovery"
$ExcludeFilePattern = "log"

FindLatestBackupFile $backupFile  $BackupFilePattern  $ErrorView

基本思路就是用 Where-Object 进行过滤,用Sort-Object进行排序,Select-Object进行选择。