添加内容 - 让它'安全'?了noclobber?

时间:2016-04-15 11:41:32

标签: powershell

所以我跑了这个:

(dir|get-filehash -Algorithm sha1|select-object hash, path)

并将其输入:

Add-Content

我期待(希望) - 是'添加内容'给我一些文本(可能是标准输出?) - 或者至少提示我输出文件。

它实际上做的是将文本添加到它找到的每个文件的末尾。 (我理解为什么:Object-Pipeline将'Path'属性一直传递给'Add-Content',所以它尽职尽责地将它的输出写入每个文件。)

我的不好:但这可能是'陷阱' - 有没有办法在'添加内容'中添加'no-clobber'(默认情况下最好)?

我当然应该做的是:

(dir|get-filehash -Algorithm sha1|select-object hash, path)|add-content -whatif

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容过滤结果:

(dir|get-filehash -Algorithm sha1|select-object hash, path)| Where-Object{$_.Path -eq $yourPathHere} |add-content $yourContent

对于具有指定属性值的文件,Where-Object {$_.property -eq $filter}只使用Add-Content

另一个选择是尝试使用-Include-Exclude开关(取决于你的cireteria其中一个会比另一个好很多)