5

我正在尝试创建一个应用程序,该应用程序使用Tee-Object将变量放入文件(minedown.conf)中,但每次它向文件中添加内容时都会覆盖它。我正在使用

$account = Read-Host "Enter your Account SID number"
"account = $account" | Tee-Object -FilePath c:\minedown\minedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Tee-Object -FilePath c:\minedown\minedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Tee-Object -FilePath c:\minedown\minedown.conf

我试图让每一个都成为一个单独的行。

4

3 回答 3

14

顺便说一句,在 PowerShell 3.0 中,-Append 开关已添加到Tee-Objectcmdlet。

于 2013-03-29T10:18:29.847 回答
4

Tee-Object不是你要找的Cmd,Set-content试试看Add-Content

$account = Read-Host "Enter your Account SID number"
"account = $account" | Set-content -Path c:\minedown\minedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Add-Content -Path c:\minedown\minedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Add-Content -Path c:\minedown\minedown.conf

的目的Tee-Object实际上是在管道序列中充当“T”,以便将数据从输入发送到输出以及文件或变量(例如,为了调试管道序列)。

于 2013-03-29T04:10:19.037 回答
1

如前所述, Tee-Object(别名tee)用于将输出分成两个方向。在 Linux ( tee) 上,它对于进入屏幕和文件很有用。在 PowerShell 中,它更多地用于将其放到屏幕上并将其扔回管道以及其他东西,但不能执行 Append。不是你想要的。

但是,我需要以 Linux 的方式将其显示在屏幕上以及写入文件(以附加模式)。所以我用下面的方法先把它写到管道上,然后把它放到屏幕上(用颜色),然后把它放到一个文件中,这个文件被附加到而不是被覆盖。也许它对某人有用:

Write-Output "from - $from" | %{write-host $_ -ForegroundColor Blue; out-file -filepath c:\minedown\minedown.conf -inputobject $_ -append}
于 2013-05-10T16:27:59.897 回答