ディレクトリ内のファイルの束のファイルハッシュ(sha1)を示すHTMLテーブルを生成したい。ファイル名を絶対パスではなく現在のディレクトリからの相対パスにします。ファイルハッシュのHTMLテーブルを作成する方法 - 相対パスのみを使用する方法
私は別々のビットを別々にする方法を知っていますが、チェーンを張る方法を理解できません。
私にこの与えdir|get-filehash -Algorithm sha1
:
Algorithm Hash Path
--------- ---- ----
SHA1 DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 C:\temp\test\empty.txt
SHA1 88A5B867C3D110207786E66523CD1E4A484DA697 C:\temp\test\hello.txt
今、私は唯一のハッシュとファイル名をしたいので、私はこれを行うことができます:
をここでは、私がこれまで持っているものです
dir|get-filehash -Algorithm sha1|select-object hash, path
これは私に:
Hash Path
---- ----
DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 C:\temp\test\empty.txt
88A5B867C3D110207786E66523CD1E4A484DA697 C:\temp\test\hello.txt
だから私はこのようなHTMLファイルに出力、これをすることができます
(dir|get-filehash -Algorithm sha1|select-object hash, path)|ConvertTo-html|add-content output.htm
[出力ファイルは今のところ存在しない場合にのみ正しく動作するという事実を無視]。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/><col/></colgroup>
<tr><th>Hash</th><th>Path</th></tr>
<tr><td>DA39A3EE5E6B4B0D3255BFEF95601890AFD80709</td><td>C:\temp\test\empty.txt</td></tr>
<tr><td>88A5B867C3D110207786E66523CD1E4A484DA697</td><td>C:\temp\test\hello.txt</td></tr>
</table>
これは私にHTMLテーブルを与えます。 PATH値は絶対値です。
私は「解決パス」コマンドレットを使用して相対パスを取得する簡単な方法を知っている:
dir | Resolve-Path -Relative
.\empty.txt
.\hello.txt
をしかし、私は私のスクリプトの残りの部分では「フィット」にそれを得ることはできません。私は彼らが異なる方法でこれを行うための.NET関数かもしれないと思いますか?または、括弧で囲まれた忍者を使って、この呼び出しを 'select-object'リストのコマンドレットinsdeに絞り込むことができますか?
私はこれを試してみました:しかし、それは動作しません:
この上でいくつかの進歩を遂げ# NOTE: this code does not work !
PS > dir|get-filehash|select-object hash, (path|Resolve-Path -relative)