如何连接路径和文件名以进行创建和删除

时间:2014-06-27 16:15:25

标签: string powershell concatenation filepath

我正在尝试以下方法。

$woohoo = "c:\temp\shabang"
New-Item -ItemType File $woohoo

这会在所需位置创建一个文件。但是,我想将$woo$hoo分开并进行类似的操作。

$woo = "c:\temp"
$hoo = "shabang"
New-Item -ItemType File ($woo + $hoo)

这不起作用,我需要提示如何让它飞起来。适用于我的情况时,This suggestionthis on已经解决了问题。显然 - 给定的路径格式不受支持。

建议?

修改

这就是它的样子: enter image description here

编辑2

$ woo =“c:\ temp”; $ hoo =“shabang”; New-Item -ItemType文件(Join-Path $ woo $ hoo)

2 个答案:

答案 0 :(得分:7)

执行$woo + $hoo不会返回正确的文件路径:

PS > $woo = "c:\temp"
PS > $hoo = "shabang"
PS > $woo + $hoo
c:\tempshabang
PS >

相反,您应该使用Join-Path cmdlet连接$woo$hoo

New-Item -ItemType File (Join-Path $woo $hoo)

参见下面的演示:

PS > $woo = "c:\temp"
PS > $hoo = "shabang"
PS > Join-Path $woo $hoo
c:\temp\shabang
PS >

答案 1 :(得分:1)

$path=Get-Location 
$file="myfile.json"
$path=Join-Path $path $file

#you can cast to a class if the class definition is known
$results = (Get-Content -Path $path  | Out-String | ConvertFrom-Json)

foreach($tempObj in $results)
{
   $obj_vals=$tempObj|Select-Object -Property *
   Write-Host $obj_vals  -ForegroundColor Green
}