我有一个带有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
}
}
答案 0 :(得分:2)
更改此:
Set-Location "$newPath.Text"
对此:
Set-Location "$($newPath.Text)"