3

ファイルから情報を取得するために mediainfo プログラムを使用しています。Powershell で以下を実行すると、必要な情報が返されます。どうすればよいかわからないのは、すべてのディレクトリを再帰的に調べて、特定の拡張機能だけを調べることです。必要なことはわかっていますが、必要な拡張機能が含まれていますが、その方法がわかりません。

現在機能するコマンドは次のとおりです。

.\mediainfo.i386 --inform=file://x:\stuff.txt x:\pic >>x:\output.txt  

stuff.txtは、探しているパラメーターがあります。x:\pic検索する必要があるより多くのディレクトリを含むディレクトリです。次に、情報がoutput.txtファイルに追加されます。これは cmd ラインで機能しますが、ファイルだけを探したいだけのものをすべてプルし.png, .jpg, .bmpます。

追加の利点は、このスクリプトを任意のディレクトリに配置して実行できることです。スクリプトと txt ファイルを同じディレクトリに配置する必要があることはわかっていますが、%1 で dos ができるようにする方法はありますか。

ありがとう

4

1 に答える 1

0

フィルターを使用して、探しているアイテムだけを返すことができます。たとえば、これは現在のフォルダーとそのサブフォルダー内のすべての JPG ファイルを一覧表示します。

gci -name -recurse . | ? { $_.Contains(".jpg") } | % { "file: " + $_ }

2 つの重要な部分は次のとおりです。

  • ? -- Where-Object、一致する名前のみをパイプ内の次のアイテムに渡します
  • % -- Foreach-Object、パイプ内の各アイテムに対して何かを行います

クリスチャンがコメントで指摘したように、これはよりパフォーマンスが高いです。

gci -name -recurse . -filter *.jpg | % { "file: " + $_ }

これであなたの質問に十分答えられることを願っています。

于 2012-11-06T19:45:40.443 に答える