拆分路径返回“ System.Windows.Forms.TextBox,文本:mypath”,因此我无法将位置设置为该路径

时间:2019-08-22 21:30:17

标签: powershell cmdlets

我有一个带有GUI的脚本,该脚本弹出Windows资源管理器,并允许用户选择一个文件来导出数据。但是,我想在它们选择的目录中处理一些文件,但是当我尝试对文件名使用Split-Path时,出现此错误:

  

设置位置:找不到驱动器。名称为“ System.Windows.Forms.TextBox,文本”的驱动器不存在。

有没有一种方法可以删除返回的文本的开始部分,而只在其中获取路径文本?

//users selected path from GUI Note* this is the path but it is selected by the gui button through file explorer
$UsersPath = "C:\username\desktop\MyFolder\myFile.csv"

$newPath = Split-Path -Path "$UsersPath"

Set-Location "$newPath.Text"

//In this case, $newPath = System.Windows.Forms.TextBox, Text: C:\Users\username\Desktop\myFolder

我尝试使用.Text.ToString无济于事。

下面是我的代码,可让我打开一个对话框,要求用户选择文件。

function open_CSV_File{

    $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
    $openFileDialog.InitialDirectory = "C:\";
    $OpenFileDialog.Filter = "csv files (*.csv)|*.csv"
    "
    if ($OpenFileDialog.ShowDialog() -eq "OK"){
        $textbox_BrowseForCSV.Text = $OpenFileDialog.FileName 
    }
}

1 个答案:

答案 0 :(得分:2)

更改此:

Set-Location "$newPath.Text"

对此:

Set-Location "$($newPath.Text)"