在文件的属性对话框中,您知道该消息该文件来自另一台计算机,可能被阻止...
我想要一个 Windows 7 搜索查询来查找来自其他计算机的文件以及来自此计算机的文件。例如查找代码片段javascript onclick type:.js date: earlier this year <file made by me>
。除非我以某种方式排除与查询匹配的各种程序文件,否则我会得到太多不相关的结果。
我无法搜索,author:
因为它不是一个好的代理(文件要么没有元数据,要么我的作者姓名多年来并不一致)。
答案1
您可以使用 PowerShell 来实现这一点。来自互联网的文件具有一个名为 Zone.Identifier 的备用数据流。从 PowerShell 3.0 开始,Get-Item
支持-Stream
允许查看 ADS 的参数。如果您运行的是 Windows 8,则应该已经内置了功能强大的 PowerShell 版本。如果您使用的是 Windows 7,则需要从 Microsoft 网站下载更新。最新版本目前是 PowerShell 4.0。
一旦安装了功能强大的 PowerShell 版本,以下命令将列出当前文件夹(及其子文件夹)中具有 Zone.Identifier ADS 的所有文件:
Get-ChildItem -Recurse | Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue | Select-Object FileName
扩展并附有评论:
# Get all items in the current folder and its subfolders.
Get-ChildItem -Recurse|
# Get the Zone.Identifier ADS for each item. Suppress error output.
# Errors are suppressed here because otherwise the screen will fill with non-critical errors for all the files that *don't* have the Zone.Identifier ADS - i.e.: Files that aren't from the Internet.
Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue |
# Display only the FileName property of each object returned.
Select-Object FileName
“高尔夫”版本:
ls -Rec|gi -S Zone.Identifier -ErrorA SilentlyContinue|select FileName
ls
、gi
和分别是、和select
的内置别名。Get-ChildItem
Get-Item
Select-Object
-Recurse
、、-Stream
和-ErrorAction
被截断为唯一标识参数名称所需的最小长度。