powershell脚本:删除"&引用;csv输出文件周围的引号

powershell脚本:删除"&引用;csv输出文件周围的引号,powershell,Powershell,我试图删除csv输出文件中的引号,但代码不起作用。我遵循了提供的指南,但仍然没有删除引号 $OutFile = "C:\Users\munjanga\Documents\AoN Project\Execute\$([Environment]::MachineName).txt" $Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags" De

我试图删除csv输出文件中的引号,但代码不起作用。我遵循了提供的指南,但仍然没有删除引号

$OutFile = "C:\Users\munjanga\Documents\AoN Project\Execute\$([Environment]::MachineName).txt"  
$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags"
Del $OutFile
Add-Content -Value $Header -Path $OutFile 

$RootPath = "C:\Users\munjanga\Documents\Operations Orchestration"

$Folders = dir $RootPath -recurse | where {$_.psiscontainer -eq $true}

$isInherited = @{
 $true  = 'Inherited'
 $false = 'Not Inherited'
}

$inheritance = @{
 0 = 'files only'
 1 = 'this folder and subfolders'
 2 = 'this folder and files'
  3 = 'subfolders and files'
}

$fldr = $Folder.FullName

$Folders | % {
$fldr = $_.FullName
Get-Acl $fldr | select -Expand Access |
 select @{n='Account';e={$_.IdentityReference}},
     @{n='Ace String';e={"{0} {1}, {2} ({3})" -f $_.AccessControlType,
       $_.FileSystemRights, $inheritance[$_.InheritanceFlags],
       $isInherited[$_.IsInherited]}},
    @{n='Object Path';e={$fldr}} | ConvertTo-Csv -NoTypeInformation -Encoding ascii | % {$_ -replace '"', ""} | Out-File $OutFile -Force -Encoding ascii

Export Csv
将在看到字符串时将引号放回文件中。您最好使用
Out File
来实际编写CSV

这将替换您的代码:

@{n='Object Path';e={$fldr}} | ConvertTo-Csv -NoTypeInformation | % {$_ -replace '"', ""} | Out-File $OutFile -Force -Encoding ascii -Append

我将其更改为,但“”标记仍然存在:{(Get Content$OutFile)|%{${-replace',“”}| out file-FilePath$OutFile-Force-Encoding ascii}更改了什么?那应该是在你提供的那行之后的一行。抱歉,我误读了,以为你说的是“替换”。无论如何,我已经在我提供的那行下面添加了它,但输出仍然是一样的…编辑了答案,这应该会完全替换你的代码行。听起来好像你没有显示完整的代码,所以很难预测是什么此时,您正在查看。如果您仅获取可能指示空对象的标题。如果您看到标题和单行数据,则可能需要将
-Append
开关添加到
Out File
部分。