12

現在、PowerShell (v3.0) スクリプトを実行しています。その 1 つのステップは、ディレクトリ内のすべての HTML ファイルを取得することです。それはうまくいきます:

$srcfiles = Get-ChildItem $srcPath -filter "*.htm*"

ただし、HTML 以外のすべてのファイル (CSS、Word および Excel ドキュメント、写真など) を特定する必要に迫られています。

-neパラメータと組み合わせて、パラメータのように機能するものが必要です-filter。本質的に、そうでないものはすべて私に与えてください "*.htm*"

-filter -ne動作しません。気まぐれに試してみましたが、MSDN の powershell doc でパラメーターを無効にする-!filterものを見つけることができないようです。おそらく私は何かをパイプする必要があります...?-filter

誰かがこれに対する解決策を持っていますか?

4

2 に答える 2

15

-Filterは正しい方法ではありません。-exclude代わりに次のパラメーターを使用します。

$srcfiles = Get-ChildItem $srcPath -exclude *.htm*

-excludestring[]タイプを入力として受け入れます。そのようにして、次のように複数の拡張子/ファイルの種類を除外できます。

 $srcfiles = Get-ChildItem $srcPath -exclude *.htm*,*.css,*.doc*,*.xls*

..等々。

于 2013-06-07T20:07:38.000 に答える
6

私は PowerShell に少し慣れていませんが、where コマンドにパイプできますか?

$srcfiles = Get-ChildItem $srcPath | where-object {$_.extension -ne "*.htm*"}

ただし、「拡張」の代わりに使用する実際のプロパティが何であるかはわかりません。

于 2013-09-24T20:05:05.860 に答える