【发布时间】:2013-01-07 09:46:39
【问题描述】:
我正在使用以下代码通过 Windows 窗体的“浏览”功能选择一个文件夹,然后将该路径传递给 gci cmdlet
cls
Function Get-Directory($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null
$OpenfolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
$OpenfolderDialog.RootFolder = $initialDirectory
$OpenfolderDialog.ShowDialog()| Out-Null
$StartDir = $OpenfolderDialog.SelectedPath
Return $StartDir | Out-String
}
$myDir = Get-Directory -initialDirectory "Desktop"
$Child = gci -path $mydir -r -Filter *.jpg
Foreach ($item in $Child) {Move-Item -path $item.pspath -Destination $myDir -Force}
但我收到以下错误:
***在 C:\Test\Combine Pics2.ps1:17 char:13 + $Child = gci
Move-Item:无法将参数绑定到参数“路径”,因为它为空。 在 C:\Test\Combine Pics2.ps1:19 char:43 + Foreach($Child 中的 $item){Move-Item -path
$myDir变量是String类型,为什么不传给-path参数。
【问题讨论】:
-
它是字符串类型,但它实际上是什么?你有没有输出它以确保它是正确的?
-
你试过用调试器运行它吗,比如 powershell_ise
标签: powershell path get-childitem