[玩转系统] 周五乐趣:获取最近的文件
作者:精品下载站 日期:2024-12-14 07:45:24 浏览:16 分类:玩电脑
周五乐趣:获取最近的文件
正如您可能想象的那样,我整个星期都会处理许多不同的文件。有时很难把一切都搞清楚。我想回到昨天正在写的剧本,但我不记得我叫它什么了。所以我花了几分钟搜索和过滤,直到找到它。那需要太长时间了。那么为什么不创建一个简单的 PowerShell 工具并将其加载到我的个人资料中呢?
首先,我需要一个日期来过滤。我想找到昨天最后修改的所有文件。
$y = (Get-Date).AddDays(-1).Date
如果我只使用 AddDays 方法,我将获得从现在起正好 24 小时的时间,包括时间。但我想要从午夜开始。这就是 Date 属性带给我的。 $y 的值类似于 2015 年 3 月 19 日星期四 12:00:00 AM。现在,获取目录列表并使用该日期进行过滤就很简单了。
dir -file | where {$_.lastwritetime -ge $y} | Sort LastWriteTime
我需要确保对结果进行排序,但要在最后进行,以便 PowerShell 对筛选后的结果进行排序。
当然,我不想一直输入这些内容。所以这里有一个函数可以帮我完成这项工作。
#requires -version 3.0
Function Get-RecentFile {
[cmdletbinding()]
Param(
[Parameter(Position=0)]
#make sure path exists and it belongs to the FileSystem provider
[ValidateScript({
if ((Test-Path -path $_) -AND ((Resolve-Path -path $_).Provider.Name -eq "FileSystem")) {
$True
}
else {
Throw "Verify path exists and is a FileSystem path."
}
})]
[string]$Path = ".",
[ValidateScript({$_ -ge 0})]
[int]$Days = 1,
[ValidateNotNullorEmpty()]
[DateTime]$Since = (Get-Date).AddDays(-$Days).Date,
[int]$Newest,
[ValidateNotNullorEmpty()]
[string]$Filter = "*"
)
Write-Verbose -Message "Starting $($MyInvocation.Mycommand)"
#get a full path path for verbose messages
$Path = Resolve-Path -Path $Path
Write-Verbose -Message "Getting files [$filter] from $path since $($Since.ToShortDateString())"
#sort last
$files = Dir -path $Path -filter $Filter -File |
where {$_.LastWriteTime -ge $Since} |
Sort LastWriteTime
if ($Newest) {
Write-Verbose -message "Getting $newest newest files"
$files | Select-Object -last $Newest
}
else {
$files
}
Write-Verbose -Message "Ending $($MyInvocation.Mycommand)"
} #end function
#define an optional alias
Set-Alias -Name grf -Value Get-RecentFile
我设置默认为查找当前文件夹中自昨天以来最后修改的所有文件。我还添加了一个选项,将结果限制为最新的 X 个文件。我的脚本文件夹包含 10 年的文件,因此这非常有帮助。
grf -Days 30 -filter *.txt -Newest 3
我什至创建了一个别名。
顺便说一句,如果您将 Days 参数设置为 0,您将在今天修改文件。它还可以很容易地看到我一直在做什么。
get-recentfile -days 30 | group extension
我想指出您可能会发现在脚本中有用的另一项功能。您会注意到我经常使用参数验证。如果验证测试失败,PowerShell 将引发异常。但有时您可能想要更优雅的东西。在此函数中,我想验证该路径是否存在并且是文件系统路径。像 HKLM: 这样的路径将测试为 True,但对于函数的目的来说是无效的。
这是验证属性:
[ValidateScript({
if ((Test-Path -path $_) -AND ((Resolve-Path -path $_).Provider.Name -eq "FileSystem")) {
$True
}
else {
Throw "Verify path exists and is a FileSystem path."
}
})]
当您使用 ValidateScript 时,脚本块必须返回 $True 或 $False。如果它是 $False 那么你会得到典型的异常。在这种情况下,如果路径通过了我的测试,我可以告诉 PowerShell 它没问题 ($True) 并且函数继续进行。但如果路径未通过我的测试,我将编写自己的错误消息。
正如 PowerShell 中的常见情况,您必须考虑谁将使用您的工具或脚本以及他们将如何响应错误。
我唯一没有做的就是包含任何基于评论的帮助,所以我将把它留给你。享受!
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag