arrays - Powershell连接路径返回数组

标签 arrays powershell join path

我试图在脚本的开头创建文件夹,而后记则在其中创建文件。为了创建路径,我使用md -Force $path,我也仅用于测试类似的方法

if(![System.IO.Directory]::Exists($path)){
    [System.IO.Directory]::CreateDirectory($path)
}

创建路径后,我想构建文件名+我要写入的文件的路径,我使用了两种方法:
Join-Path $path "myfile.txt"

这导致结果是我得到一个字符串数组作为结果,带有两个记录,两个记录都建立相同的路径$path\myfile.txt也使用
[System.IO.Path]::Combine($path, "myfile.txt")

返回具有两个记录的相同字符串数组(即使Combine方法仅具有返回字符串的定义)

仅当我之前创建文件夹时,才会出现此现象,所以我想知道是什么原因导致这些结果以及如何避免它们。

我的安装程序是带有Win7的Powershell 3(客户“希望”)。

最佳答案

您的变量$path包含一个数组。

PS C:\> $path = 'C:\Temp'
PS C:\> $res = Join-Path $path 'file.txt'
PS C:\> $res.GetType().FullName
System.String
PS C:\> $res
C:\Temp\file.txt
PS C:\> $path = 'C:\Temp', 'C:\Windows'
PS C:\> $res = Join-Path $path 'file.txt'
PS C:\> $res.GetType().FullName
System.Object[]
PS C:\> $res
C:\Temp\file.txt
C:\Windows\file.txt

关于arrays - Powershell连接路径返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30724984/

相关文章:

javascript - 循环遍历数组,每次都进行ajax调用,不起作用

Powershell 开关中断标签未被执行

mysql - SQL查询多个表,多个连接和列字段用逗号分隔列表

mysql - Sql 查询与字符串中特定数据的内连接

mysql - 如何从三个不同的表中获取列?

C++ 程序在访问一个巨大的数组时卡住

javascript - 如何使用 keydown 函数制作 JavaScript 待办事项列表

powershell - Windows 7/PS2.0 New-Object System.Drawing.Text.PrivateFontCollection不起作用,但在Windows 10中确实起作用

powershell - 在Powershell的CSV文件数字列中查找文本数据

c - 如何在C中迭代和复制双指针