gpt4 book ai didi

Powershell:文件元数据中的 NTFS 路径与 New-ItemProperty、Set-ItemProperty?

转载 作者:行者123 更新时间:2023-12-03 00:54:19 24 4
gpt4 key购买 nike

我有兴趣在特定范围内向我的文件添加一个属性,该属性包含它们在我的文件系统中的当前位置,以便跟踪文件移动。我认为这可以使用 New-ItemProperty 完成,使用类似于以下的命令:

Get-ChildItem -recurse | foreach { New-ItemProperty -Path $.FullName -Name "OriginalLocation"-PropertyType string -Value $.FullName }

但是,当我尝试这个时,我收到了以下错误的垃圾邮件:

New-ItemProperty:无法使用接口(interface)。此提供程序未实现 IDynamicPropertyCmdletProvider 接口(interface)。

经过一番搜索,似乎 New-ItemProperty 除了使用注册表之外几乎没有用处。美好的。 Windows 有无数其他文件属性,我应该能够劫持以完成此操作。 “标签”和“标签”浮现在脑海中。因此,让我们尝试通过 Set-ItemProperty 设置它们。

Set-ItemProperty : 属性 System.String Label=D:\test\file.txt 不存在。

看来我毕竟需要创建这些属性。这是 New-ItemProperty 的缺点吗?也许在任意项目上设置诸如此类的属性是我不知道的一些 WMI 事情?

最佳答案

这是我使用重定向('<' & '>')的解决方案,它允许在 CMD.EXE 中操作备用数据流.它在 Powershell 中工作,没有任何扩展

# AlternateDataStream.ps1

$scriptBlockSetStream = {cmd /C `"echo $($Args[0])`>$($Args[1]):$($Args[2])`"}
$scriptBlockGetStream = {cmd /C `"more `<$($Args[0]):$($Args[1])`"}

$streamName = "NativeFilePath"
$File = "C:\Temp\ADSTest\toto.txt"
$streamContent = Split-Path -Path $File -Parent

# Set the data stream
Invoke-Command -ScriptBlock $scriptBlockSetStream -ArgumentList $streamContent,$File,$streamName
# Get the Data Stream
$res = Invoke-Command -ScriptBlock $scriptBlockGetStream -ArgumentList $File,$streamName
$res

关于Powershell:文件元数据中的 NTFS 路径与 New-ItemProperty、Set-ItemProperty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com