powershell - ls 进入解压目录
问题描述
使用 PowerShell,我正在下载并提取一个包含目录和另一个文件的文件(它基本上来自https://aka.ms/downloadazcopy-v10-windows
)。我希望能够在提取后进入目录。
所以,在 PS 中,我正在c:\AzCopyTest
下载文件。它正在同一位置提取。这是它的代码:
$URL = "https://aka.ms/downloadazcopy-v10-windows"
New-Item -ItemType Directory -Path c:\AzCopyTest
$Destination = "c:\AzCopyTest\zzz.zip"
$WebClient = New-Object -TypeName System.Net.WebClient
$WebClient.DownloadFile($URL, $Destination).
$ExtractLocation = "c:\AzCopyTest"
$ExtractShell = New-Object -ComObject Shell.Application
$file = $ExtractShell.NameSpace($Destination).Items()
$ExtractShell.NameSpace($ExtractLocation).CopyHere($file)
提取完成后如何进入文件夹?仅供参考,我不想ls
直接(或手动)进入它。我希望能够列出该目录中的项目并获得第一个目录。azcopy_windows_amd64_10.3.4
是什么目录称为 BTW。现在,当 MS 发布一个新版本(比如 10.3.5)时,该目录将被重命名,我不想重新进入并手动更改它。你知道我要去哪里了..
我知道Get-ChildItem -Path ("$ExtractLocation") -Recurse
会列出目录和子目录中的项目。但不幸的是,它并没有达到我的目的。
任何帮助是极大的赞赏!
解决方案
我试过这个:
Get-ChildItem -Path $ExtractLocation -Recurse -Directory -Force -ErrorAction SilentlyContinue | Select-Object).Name
它奏效了。
仅供参考,稍后,如果 MS 决定在压缩文件中添加另一个目录,您可以简单地执行以下操作:
Get-ChildItem -Path $ExtractLocation -Recurse -Directory -Force -ErrorAction SilentlyContinue | Select-Object).Name[<position_of_the_directory_starting_from_0]
推荐阅读
- c++ - C 标准的哪些部分证明了整数类型的对应关系?
- flutter - 验证 TextFormField [Flutter] 的两件事
- docker - 如何配置两个docker(1-apache+mod_fcgi 2-php-fpm+phpmyadmin)
- c - 使用 nanosleep() 时出现分段错误
- python - 如何删除列表中的文件路径并仅显示文本文件?
- python - 如何打印包含每个元素索引的列表?- Python
- python - 在更新字典时加速嵌套的 Python 循环
- python - 为什么 xlwriter 会删除所有以前的单元格?
- node.js - Discord.js 轮询命令无法读取 null 的属性“0”
- xamarin - 一次只有一个扩展器以 xamarin 形式扩展