【问题标题】:Adding a folder name to any end of the path将文件夹名称添加到路径的任何一端
【发布时间】:2020-04-02 15:26:30
【问题描述】:

我是 Powershell 的初学者,需要很少的脚本。实际上,我在这里通过调查完成了我的脚本的某些部分,并提出了一些以前被质疑的问题。

文件夹地址:C:\Users\Test\A\B

B文件夹中有3个子文件夹M1、M2、M3,意思是“C:\Users\Test\A\B”路径下。 首先,我使用 Get-ChildItem 将所有文件夹放在此路径中。

在此之后,我将使用 M1 或 M2 或 M3 文件夹的内部文件夹。例如,我将首先带来 M1 文件夹的子文件夹。然后我将用于 M2 文件夹并继续。这些文件夹 M1、M2、M3 会动态变化,因此这些文件夹的路径也会发生变化。

我想将文件夹地址路径添加到 M1 forlder 的名称中。进程结束路径应该是:

文件夹地址:C:\Users\Test\A\M1 或 C:\Users\Test\A\B\M2

$names = Get-Childitem -Path C:\Users\Test\A -Directory -Name
$testadres  = "C:\Users\Test\A" 

实际上,我正在尝试将脚本中的路径子文件夹名称作为动态添加到末尾。进程结束新路径如下:

$newaddress = "C:\Users\Test\A\M1"$newaddress = "C:\Users\Test\A\M2"

【问题讨论】:

  • 您可以尝试Get-Childitem -Path C:\Users\Test\A -Directory | Select -Expand FullName获取子目录的完整路径。

标签: powershell


【解决方案1】:

如果要列出第一级子目录路径,可以执行以下操作:

Get-Childitem -Path C:\Users\Test\A -Directory | Select -Expand FullName

如果您想将一个路径 ($sourceDir) 中的子目录名称连接到另一路径 ($targetDir) 的末尾,您可以执行以下操作:

$sourceDir = 'C:\Users\Test\A\B'
$targetDir = 'C:\Users\Test\A'
Get-ChildItem -Path $sourceDir -Directory -Name | Foreach-Object {
    Join-Path -Path $targetDir -ChildPath $_
}

如果您想在任何时候进行更深层次的查询,可以将-Recurse 开关添加到Get-ChildItem

【讨论】:

  • 非常感谢!特别是Get-Childitem -Path C:\Users\Test\A -Directory | Select -Expand FullName commang 在我的代码中确实有效。它也有助于我理解一些步骤
  • @PALES,如果此答案解决了您的问题,请考虑标记绿色复选标记以使其成为答案。它可以帮助我们未来的读者。
  • 对不起,我忘记了这个主题。我是新来的。
猜你喜欢
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 2021-07-24
  • 2018-07-16
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 2020-03-17
相关资源
最近更新 更多