2016-08-25 5 views
0

ダウンフォルダ内のファイルを探します。デバッグ\は、さらに私は、私は、このフォルダ構造を持っている場合、.exeファイル</p> <p>EGよりも数レベル高いディレクトリを知って、.exeファイルを見つけて、それを実行するために必要な階層

テスト\ビン\ netcoreapp1.0 \ win7の - のx64 \のPROGRAM.EXE

と私は唯一のテストフォルダを知って、私は名前を知らなくても、PROGRAM.EXEへのパスを取得する必要があります.exeファイルもあります(ただし、.exeファイルは1つのみです)。

だから、のようなもの:。

テストはして見て、ソースフォルダです
gcm *.exe test 

私はこれをどのように行うのですか?

+1

複数のexeがある場合はどうなりますか?最初に見つかった、または失敗したものを取りたいですか? – Guvante

答えて

1

これは何を探しているように聞こえますコールオペレータ。完全なパスを指定して実行可能ファイルを実行することができます。

1

gcmは、Get-Commandaliasです。 gciGet-ChildItem)を探しています。そう、@Guvanteが指摘したように、これは(あるいはなしですべての)複数の実行ファイルを返すことがあります、

Get-ChildItem test -Filter *.exe -Recurse 

注:特定の拡張子を持つファイルをフィルタリングする-Filterをサブフォルダに再帰とするパラメータ-Recurseを使用しますこれらすべてのケースをどのように処理するかを決める必要があります(すべての実行可能ファイルを実行、最初、最後、なし、エラー付き、エラーなし、...)。あなたが一致するファイルを持っていたら

あなたはcall operatorを経由して、インスタンスのためにそれを実行することができますがあり

$path = 'test' 
$program = Get-ChildItem -Path $path -Filter *.exe -Recurse 
& $program.FullName 

&オペレータ:

$exe = Get-ChildItem ... | Select-Object -First 1 -Expand FullName 
& $exe 
関連する問題