Я запускаю Get-ChildItem, но он возвращает ДВА результата, что меня смущает... почему?
Get-ChildItem "$env:ProgramFiles\Google\Drive File Stream\" -Filter 'GoogleDriveFS.exe' -Recurse
вот результат:
Directory: C:\Program Files\Google\Drive File Stream\56.0.11.0
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/30/2022 11:38 AM 53664656 GoogleDriveFS.exe
Directory: C:\Program Files\Google\Drive File Stream\56.0.9.0
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/24/2022 8:02 AM 53662040 GoogleDriveFS.exe
Наверняка у меня не работают две отдельные версии googleDrive??
У вас может не быть Бег двух отдельных версий, но это не исключает наличия двух отдельных версий установлены :)
ах странно - я просто не знал об этом, но я думаю, что это возможно и, может быть, даже имеет смысл
@Tony, если вы хотите новейшая версия, а родительские папки всегда называются версией в форме X.Y.Z.z
, тогда вы можете сделать: Get-ChildItem ... |Sort-Object { $_.DirectoryName -as [version] } |Select -Last 1
Вы использовали переключатель -Recurse
, и он нашел несколько файлов с одинаковым именем в подпапках дерева, из которого вы запустили Get-ChildItem
. -Recurse
будет рекурсивно проверять внутри других контейнеров, что, поскольку вы используете поставщика FileSystem
, означает, что он будет рекурсивно искать во вложенных каталогах.
Мы не можем сказать вам, почему их два, и это не сообщество, чтобы спрашивать об этом (подсказка: попробуйте спросить на Суперпользователь). Но Get-ChildItem -Recurse
говорит вам именно то, о чем вы просили: рекурсивный поиск GoogleDriveFS.exe
в подкаталогах $env:ProgramFiles\Google\Drive File Stream
.
Что смущает в этом выводе? Вы используете переключатель
-Recurse
, и он обнаружил 2 файла с таким именем в иерархии каталогов.