作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我再次陷入了应该如此简单的事情。我有一个CSV文件,需要在其中进行一些字符串修改并将其导出。数据如下所示:
FullName--------\\server\project\AOI\\server\project\AOI\Folder1\\server\project\AOI\Folder2\\server\project\AOI\Folder3\User
I need to do the following:
Here is my initial attempt at this:
Get-Content C:\Folders.csv |
% {$_.replace('\\server\project\','')} |
Where-Object {$_ -match '\\'} |
#Removes User Folders rows from CSV
Where-Object {$_ -notmatch 'User'} |
Out-File C:\Folders-mod.csv
Import-Csv
,这很好,但是不断重新加载同一文件似乎效率低下。所以我尝试使用
Import-Csv
而不是
Get-Content
重写以上代码:
$Folders = Import-Csv C:\Folders.csv
foreach ($Folder in $Folders) {
$Folder.FullName = $Folder.FullName.Replace('\\server\AOI\', '') |
Where-Object {$_ -match '\\'} |
Where-Object {$_ -notmatch 'User Files'}
}
$Folders | Export-Csv C:\Folders-mod.csv -NoTypeInformation
Where-Object
删除了该行,而我发现摆脱它们的唯一方法是通过Get-Content命令运行输出文件。对于应该简单的东西来说,这一切似乎都过于复杂。
最佳答案
感谢TheMadTechnician指出我做错了什么。这是我的最终脚本(添加了其他列):
$Folders= Import-CSV C:\Folders.csv
ForEach ($Folder in $Folders)
{
$Folder.FullName = $Folder.FullName.replace('\\server\project\','')
}
$Folders | Where-Object {$_ -match '\\' -and $_ -notmatch 'User'} |
Select-Object *,@{Name='T/F';Expression={'FALSE'}} |
Export-CSV C:\Folders.csv -NoTypeInformation
关于powershell - Where-Object保留空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52997976/
我是一名优秀的程序员,十分优秀!