ls进入提取的目录

时间:2020-01-25 18:54:10

标签: powershell directory unzip

使用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将列出目录和子目录中的项目。不幸的是,它并没有达到我的目的。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我尝试了这个: 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]

相关问题