2014-03-12 58 views
1

我有一堆想要写入文件的文件夹名称。使用替换。我的脚本是这样的:Powershell:写入文件-NoNewLine

$file = "C:\Temp\out.txt" 
$dirs = gci "C:\Temp\dirs" 

foreach ($dir in $dirs){ 
$d = $dir.Name 
(gc $file) -replace "Begin", "Begin`r`n$d" | sc $file 
} 

我想要写在一行中的文件夹,用逗号分隔,关键字Begin后。我该如何格式化?

回答

1

试试这个:

$file = "C:\Temp\out.txt" 
$dirs = gci "C:\Temp\dirs" | Where-Object{$_.PSIsContainer -eq $true} 

New-Item $file -ItemType "file" -Force 
"Begin" | Out-File $file 

$dirs -join "," | Out-File $file -Append 

你很可能需要在where-object添加扩展名过滤器,因为PSIsContainer可以评估到true存档文件。

+0

谢谢。稍加修改 - 加入完成 –

+0

@ user2531765现在我才注意到,你想在“开始”下面写下新的行,并保留旧的条目。无论如何,我很高兴它有帮助:)。 –