2017-11-07 2 views
0

Get-ChildItemを使用してファイルを検索したが、これまでのところ、オブジェクト結果を文字列に変換する方法は見ていません使うことができます。ファイルを検索し、変数としてのパスを文字列として割り当てる

全体的な問題は、複数のPCのローカルアプリケーションデータ内に一貫して名前が付けられているが、パスが親フォルダにハッシュを使用していることです。 PowerShellでファイルを実行できるようにしたいのですが、親フォルダの名前がわからないので、検索を行い、パス名を返し、そのパスの一部としてファイルを実行する必要があります。

答えて

1

Get-ChildItemから返されるオブジェクトは、many properties you can queryFileInfoオブジェクトです。だから、変数に結果を格納することができます複数のlike-があるかもしれない場合は約世話をする

$file.Directory 
0

一つのこと:

$file = Get-ChildItem $env:APPDATA -Recurse -Include yourfilename.ext 

その後、Directoryプロパティを使用して親ディレクトリを照会することができますディレクトリポイントの下に名前付きファイルがあります。複数のファイルがある場合は、その場合の対処方法を決定する必要があります。

これは、ファイルインスタンスを配列に取得します。最初のものはインデックス0で参照することができます。このコードフラグメントは最初のものを使用し、続行します。それはあなたがしたいことではないかもしれません。

$file = @(,Get-ChildItem -Path $Env:LOCALAPPDATA -Recurse -Include thefile.exe) 
if ($file) { 
    $thedir = $file[0].DirectoryName 
} else { 
    # handle error case 
} 
関連する問題