Csv 我可以使用out gridview-passthru从所选行分配变量吗

Csv 我可以使用out gridview-passthru从所选行分配变量吗,csv,powershell,gridview,Csv,Powershell,Gridview,我对PowerShell非常陌生,我正在尝试在我制作到PowerShell中的旧批处理文件的基础上进行构建,并添加一些功能 目前我有一个CSV文件,我在pass中使用它作为一种“环境”文件,以前我会对这个CSV文件进行批处理 我有电话 Import-Csv "csvfile" | select-object -property * | out-gridview -passthru CSV文件的构建类似于: 名称、位置、文件夹 Test,e,Testsite Test1,c,windows 测试

我对PowerShell非常陌生,我正在尝试在我制作到PowerShell中的旧批处理文件的基础上进行构建,并添加一些功能

目前我有一个CSV文件,我在pass中使用它作为一种“环境”文件,以前我会对这个CSV文件进行批处理

我有电话

Import-Csv "csvfile" | select-object -property * | out-gridview -passthru
CSV文件的构建类似于:

名称、位置、文件夹
Test,e,Testsite
Test1,c,windows
测试2,c,温度
基本上,我想选择一个变量,然后单击OK并将这3个项目分配给变量<代码>$foldername、$driveLetter、$destinationDirectory


我已经到处找了,我似乎无法管理它。我确实找到了,我无耻地复制、按摩并开始工作。。。但是gridview是由该帖子的OP预先构建的,没有类似于管道到
grid view
-Passthru
的东西(过滤器和滚动条)但是我可以使用这种方法分配变量,但是我的CSV非常大,我希望它能够自动调整大小并过滤/滚动。

您需要使用
Out Gridview
-OutPutMode Single
选项将选择限制为Gridview中的单个项目

Import-Csv "csvfile" |
 select-object -property * |
  out-gridview -OutputMode Single -Title 'Select a row' |
  ForEach-Object {
   $foldername,$driveLetter,$destinationDirectory = $_.Name,$_.location,$_.folder
  }

先生,你真是天赐之物。。。。我参加了为期两天的课程,但更多的是了解命令,而老师很乐意回答我的问题。。。我当时不知道我想做什么,现在我做lol。我一直用-passthru。帮助说-passthru相当于-outputmodemultiple.@MikeShepard-他们改变了吗?IIRC-passthru用于将所有内容传递给管道,而不给您选择任何内容的机会。不。Passthru始终允许您选择输出内容。OutputMode允许您选择单选还是多选。