Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用powershell从cvs中删除行x?_Powershell - Fatal编程技术网

如何使用powershell从cvs中删除行x?

如何使用powershell从cvs中删除行x?,powershell,Powershell,我一直在编写一个脚本来制作一个网站列表,但我很难从表中删除所选的选项 我使用了一个函数,如下所示: 函数打开网站列表{ [CmdletBinding] param [ParameterMandatory=$True,HelpMessage=要执行的操作打开/启动/添加/删除。] [string]$action, [ParameterMandatory=$False,HelpMessage=操作的详细信息。] $detail, [ParameterMandatory=$False,HelpMess

我一直在编写一个脚本来制作一个网站列表,但我很难从表中删除所选的选项

我使用了一个函数,如下所示:

函数打开网站列表{ [CmdletBinding] param [ParameterMandatory=$True,HelpMessage=要执行的操作打开/启动/添加/删除。] [string]$action, [ParameterMandatory=$False,HelpMessage=操作的详细信息。] $detail, [ParameterMandatory=$False,HelpMessage=要添加的url。] [字符串]$url $csv=导入csv C:\Eclips Terminal\Files\Websites.csv $title=打开网站列表+$action++$detail++$url 如果$action-eq打开{ $csv |格式表 }elseif$操作-均衡开始{ $detail-=1 $csv|url=$csv |选择url |选择-跳过$detail |选择对象-第一个1 $csv_url=$csv_url-split`r`n;$csv_url=$csv_url.substring6;$csv_url=$csv_url.Substring0,$csv_url.Length-1 启动网站$csv\u url }elseif$操作-均衡添加{ }elseif$操作-均衡删除{ }否则{ 调用BallootTip-消息请确保所有选项都有效-Title$Title-消息类型警告 } } invoke BalloadTip是一个函数,用于使bottem right easyer中的弹出窗口更容易

然后,该脚本为我提供了下表:

number name            url                        
------ ----            ---                        
1      google          www.google.com             
2      youtube         www.youtube.com            
3      gmail           www.gmail.com              
4      stackoverflow   www.stackoverflow.com      
5      Eclips-Terminal www.tiny.one/eclips-terinal
请不要访问我的网站,因为它是垃圾

总而言之:

您将获得要删除的行的编号。 删除该行。 多恩 另外,添加部分不在代码中,但我知道一种方法,所以不要担心。
还有ppl,他们说你需要展示你的尝试。为什么我要保存所有我不想做的事情?

感谢@vonPryz给了我这个想法

我使用以下方法修复了此问题:

$detail=6 $csv= $csv=导入csv C:\Eclips Terminal\Files\Websites.csv $csv |其中对象{$|-notmatch$detail}|导出csv C:\Eclips terminal\Files\Websites.csv-Force 它将为我所需要的工作,但如果有任何知道如何只检查数字列请评论,所以它将在一般情况下工作

编辑: 多亏了@zett42,我现在有了一个真正的通用版本,它还允许用户在名称中输入数字,并再次更新数字以使其正确

$raw_csv= $csv_原始= $csv= $new\u raw\u csv= $cnt= $csv=导入csv C:\Eclips Terminal\Files\Websites.csv [array]$raw_csv=获取内容C:\Eclips Terminal\Files\Websites.csv |选择对象-跳过2 $detail=5 $csv |其中对象编号-ne$detail |导出csv C:\Eclips terminal\Files\Websites.csv-Force $cnt=0 foreach$行,单位为$raw\u csv{ $line=$line.substring2 $cnt+=1 [阵列]$new_raw_csv+=''+$cnt+$line } $new_raw_csv |输出文件C:\Eclips Terminal\Files\Websites.csv 尝试使用|过滤CSV?{$\.someproperty-notlike*不需要的*}$csv |其中对象编号-ne$detail |。。。