2017-08-30 11 views
1

ディレクトリ内の最新バージョンのフォルダを取得しようとしていますが、現時点ではzipファイルも同じディレクトリに保存されています異なるプロセス。拡張子を持たないファイルは無視し、フォルダにのみ一致させる方法を教えてください。これは、これまでの私のコードです:ディレクトリ内のフォルダにのみ一致します。拡張子が付いたファイルは無視します。

$versionToGet = (Get-ChildItem "$repo\StagingArea\$nameOfPackage" | Sort CreationTime -Descending | Select -First 1).Name 

は、どのように私は拡張子を持つすべてのファイルを無視し、フォルダのみをつかむために、このラインを調整することができますか?

答えて

2

Get-ChildItem-Directoryスイッチを使用します。

$versionToGet = (Get-ChildItem "$repo\StagingArea\$nameOfPackage" -Directory | Sort CreationTime -Descending | Select -First 1).Name 

ディレクトリスイッチがフィルタPSIsContainer notepropertyに、以前のバージョンのため、PowerShellのV3.0で導入されました:

$versionToGet = (Get-ChildItem "$repo\StagingArea\$nameOfPackage" |Where-Object {$_.PSIsContainer} |Sort CreationTime -Descending | Select -First 1).Name 
+0

おかげで、 Powershellの古いバージョンを使用しているため、 'PSIsContainer noteproperty'でフィルタリングを試みましたが、まだ* .zipファイルを取得しています。 – methuselah

+0

@methuselah答えを更新しました。私は誤って '-not'演算子をWhere-Objectフィルタに追加しました –

関連する問題