2016-04-15 1 views
0

So lief ich dies:Add-Content - mach 'sicher'? noclobber?

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

und verrohrt, dass in:

Add-Content 

Was ich erwartet hatte (in der Hoffnung) für - war 'Add-Content' mir einen Text zu geben (vielleicht zu Standard -out?) - oder mich zumindest nach einer Ausgabedatei fragen.

Was es tatsächlich tat war, am Ende jeder gefundenen Datei Text hinzuzufügen. (Ich verstehe, warum: die Objekt-Pipeline übergeben die Eigenschaft 'Pfad' bis hin zu 'Add-Content', so pflichtbewusst schrieb es seine Ausgabe in jede Datei.)

Meine schlechte: aber möglicherweise ein 'Gotcha 'here - Gibt es eine Möglichkeit,' Add-Content 'mit einem' No-Clobber '(standardmäßig bevorzugt) zu versehen?

Und was ich natürlich getan haben sollte, ist dies:

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

Antwort

0

Sie könnten die Ergebnisse mit etwas wie folgt filtern:

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

Welche Where-Object {$_.property -eq $filter} nur Add-Content auf die Dateien verwendet mit dem angegebenen Eigenschaftswert.

wäre eine weitere Option mit den -Include oder -Exclude Schalter, um zu versuchen sein (abhängig von Ihrem cireteria eine davon wird viel besser sein als der andere)

Verwandte Themen