PowerShell Tee-Object without overwriting file
I'm trying to create an application that puts variables in a file (minedown.conf) using Tee-Object, but every time it goes to add something to the file it overwrites it. I'm using
$account = Read-Host "Enter your Account SID number"
"account = $account" | Tee-Object -FilePath c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Tee-Object -FilePath c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Tee-Object -FilePath c:minedownminedown.conf
I'm trying to make each of those a separate line.
powershell powershell-v2.0
add a comment |
I'm trying to create an application that puts variables in a file (minedown.conf) using Tee-Object, but every time it goes to add something to the file it overwrites it. I'm using
$account = Read-Host "Enter your Account SID number"
"account = $account" | Tee-Object -FilePath c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Tee-Object -FilePath c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Tee-Object -FilePath c:minedownminedown.conf
I'm trying to make each of those a separate line.
powershell powershell-v2.0
add a comment |
I'm trying to create an application that puts variables in a file (minedown.conf) using Tee-Object, but every time it goes to add something to the file it overwrites it. I'm using
$account = Read-Host "Enter your Account SID number"
"account = $account" | Tee-Object -FilePath c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Tee-Object -FilePath c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Tee-Object -FilePath c:minedownminedown.conf
I'm trying to make each of those a separate line.
powershell powershell-v2.0
I'm trying to create an application that puts variables in a file (minedown.conf) using Tee-Object, but every time it goes to add something to the file it overwrites it. I'm using
$account = Read-Host "Enter your Account SID number"
"account = $account" | Tee-Object -FilePath c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Tee-Object -FilePath c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Tee-Object -FilePath c:minedownminedown.conf
I'm trying to make each of those a separate line.
powershell powershell-v2.0
powershell powershell-v2.0
edited Nov 15 '18 at 3:32
Peter Mortensen
13.7k1986113
13.7k1986113
asked Mar 29 '13 at 3:43
zoey cluffzoey cluff
63128
63128
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
Tee-Object
is not the CmdLet you are looking for, try Set-content
and Add-Content
.
$account = Read-Host "Enter your Account SID number"
"account = $account" | Set-content -Path c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Add-Content -Path c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Add-Content -Path c:minedownminedown.conf
The purpose of Tee-Object
is really to act as a 'T', in a pipe sequence, in order to send data from the input to output and to a file or a variable (in order to debug a pipe sequence for exemple).
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
3
@zoeycluff The correct parameter is-path
. With a little effort you could discover it using ` get-help add-content -full`.
– CB.
Mar 29 '13 at 7:55
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
add a comment |
As an aside, in PowerShell 3.0, the -Append switch was added to the Tee-Object
cmdlet.
add a comment |
As mentioned, Tee-Object (alias tee
) is for splitting output into two directions. On Linux (tee
) it is useful for going to screen & file. In PowerShell it is more for putting to screen and throwing it back on the pipeline as well as other stuff, but cannot do Append. Not really how you want it.
However, I needed to do the Linux way and have it show on the screen as well as write to a file (in append mode). So I used the below method to write it onto the pipeline first, then put it to the screen (with colors) and put it in a file that is being appended to rather than just overwritten. Maybe it will be useful to someone:
Write-Output "from - $from" | %write-host $_ -ForegroundColor Blue; out-file -filepath c:minedownminedown.conf -inputobject $_ -append
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f15696976%2fpowershell-tee-object-without-overwriting-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Tee-Object
is not the CmdLet you are looking for, try Set-content
and Add-Content
.
$account = Read-Host "Enter your Account SID number"
"account = $account" | Set-content -Path c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Add-Content -Path c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Add-Content -Path c:minedownminedown.conf
The purpose of Tee-Object
is really to act as a 'T', in a pipe sequence, in order to send data from the input to output and to a file or a variable (in order to debug a pipe sequence for exemple).
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
3
@zoeycluff The correct parameter is-path
. With a little effort you could discover it using ` get-help add-content -full`.
– CB.
Mar 29 '13 at 7:55
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
add a comment |
Tee-Object
is not the CmdLet you are looking for, try Set-content
and Add-Content
.
$account = Read-Host "Enter your Account SID number"
"account = $account" | Set-content -Path c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Add-Content -Path c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Add-Content -Path c:minedownminedown.conf
The purpose of Tee-Object
is really to act as a 'T', in a pipe sequence, in order to send data from the input to output and to a file or a variable (in order to debug a pipe sequence for exemple).
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
3
@zoeycluff The correct parameter is-path
. With a little effort you could discover it using ` get-help add-content -full`.
– CB.
Mar 29 '13 at 7:55
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
add a comment |
Tee-Object
is not the CmdLet you are looking for, try Set-content
and Add-Content
.
$account = Read-Host "Enter your Account SID number"
"account = $account" | Set-content -Path c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Add-Content -Path c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Add-Content -Path c:minedownminedown.conf
The purpose of Tee-Object
is really to act as a 'T', in a pipe sequence, in order to send data from the input to output and to a file or a variable (in order to debug a pipe sequence for exemple).
Tee-Object
is not the CmdLet you are looking for, try Set-content
and Add-Content
.
$account = Read-Host "Enter your Account SID number"
"account = $account" | Set-content -Path c:minedownminedown.conf
$token = Read-Host "Enter your Authority Token"
"token = $token" | Add-Content -Path c:minedownminedown.conf
$from = Read-Host "Enter your Twilio number"
"from - $from" | Add-Content -Path c:minedownminedown.conf
The purpose of Tee-Object
is really to act as a 'T', in a pipe sequence, in order to send data from the input to output and to a file or a variable (in order to debug a pipe sequence for exemple).
edited May 29 '13 at 18:54
answered Mar 29 '13 at 4:10
JPBlancJPBlanc
52.6k1092129
52.6k1092129
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
3
@zoeycluff The correct parameter is-path
. With a little effort you could discover it using ` get-help add-content -full`.
– CB.
Mar 29 '13 at 7:55
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
add a comment |
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
3
@zoeycluff The correct parameter is-path
. With a little effort you could discover it using ` get-help add-content -full`.
– CB.
Mar 29 '13 at 7:55
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
Add-Content : A parameter cannot be found that matches parameter name 'Filepath'. At C:UsersZoeyDesktopMinedowntest.ps1:25 char:45 + "account = $account" | Add-Content -Filepath <<<< Path c:minedownminedown.conf + CategoryInfo : InvalidArgument: (:) [Add-Content], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.AddContentCommand
– zoey cluff
Mar 29 '13 at 4:35
3
3
@zoeycluff The correct parameter is
-path
. With a little effort you could discover it using ` get-help add-content -full`.– CB.
Mar 29 '13 at 7:55
@zoeycluff The correct parameter is
-path
. With a little effort you could discover it using ` get-help add-content -full`.– CB.
Mar 29 '13 at 7:55
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
Thanks @C.B, I just copy past changing the CmdLet name.
– JPBlanc
Mar 29 '13 at 10:09
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
@JPBlanc I am also often a victim of copy&paste ;)
– CB.
Mar 29 '13 at 10:11
add a comment |
As an aside, in PowerShell 3.0, the -Append switch was added to the Tee-Object
cmdlet.
add a comment |
As an aside, in PowerShell 3.0, the -Append switch was added to the Tee-Object
cmdlet.
add a comment |
As an aside, in PowerShell 3.0, the -Append switch was added to the Tee-Object
cmdlet.
As an aside, in PowerShell 3.0, the -Append switch was added to the Tee-Object
cmdlet.
answered Mar 29 '13 at 10:18
Shay LevyShay Levy
87.2k17137157
87.2k17137157
add a comment |
add a comment |
As mentioned, Tee-Object (alias tee
) is for splitting output into two directions. On Linux (tee
) it is useful for going to screen & file. In PowerShell it is more for putting to screen and throwing it back on the pipeline as well as other stuff, but cannot do Append. Not really how you want it.
However, I needed to do the Linux way and have it show on the screen as well as write to a file (in append mode). So I used the below method to write it onto the pipeline first, then put it to the screen (with colors) and put it in a file that is being appended to rather than just overwritten. Maybe it will be useful to someone:
Write-Output "from - $from" | %write-host $_ -ForegroundColor Blue; out-file -filepath c:minedownminedown.conf -inputobject $_ -append
add a comment |
As mentioned, Tee-Object (alias tee
) is for splitting output into two directions. On Linux (tee
) it is useful for going to screen & file. In PowerShell it is more for putting to screen and throwing it back on the pipeline as well as other stuff, but cannot do Append. Not really how you want it.
However, I needed to do the Linux way and have it show on the screen as well as write to a file (in append mode). So I used the below method to write it onto the pipeline first, then put it to the screen (with colors) and put it in a file that is being appended to rather than just overwritten. Maybe it will be useful to someone:
Write-Output "from - $from" | %write-host $_ -ForegroundColor Blue; out-file -filepath c:minedownminedown.conf -inputobject $_ -append
add a comment |
As mentioned, Tee-Object (alias tee
) is for splitting output into two directions. On Linux (tee
) it is useful for going to screen & file. In PowerShell it is more for putting to screen and throwing it back on the pipeline as well as other stuff, but cannot do Append. Not really how you want it.
However, I needed to do the Linux way and have it show on the screen as well as write to a file (in append mode). So I used the below method to write it onto the pipeline first, then put it to the screen (with colors) and put it in a file that is being appended to rather than just overwritten. Maybe it will be useful to someone:
Write-Output "from - $from" | %write-host $_ -ForegroundColor Blue; out-file -filepath c:minedownminedown.conf -inputobject $_ -append
As mentioned, Tee-Object (alias tee
) is for splitting output into two directions. On Linux (tee
) it is useful for going to screen & file. In PowerShell it is more for putting to screen and throwing it back on the pipeline as well as other stuff, but cannot do Append. Not really how you want it.
However, I needed to do the Linux way and have it show on the screen as well as write to a file (in append mode). So I used the below method to write it onto the pipeline first, then put it to the screen (with colors) and put it in a file that is being appended to rather than just overwritten. Maybe it will be useful to someone:
Write-Output "from - $from" | %write-host $_ -ForegroundColor Blue; out-file -filepath c:minedownminedown.conf -inputobject $_ -append
edited Nov 15 '18 at 4:06
Peter Mortensen
13.7k1986113
13.7k1986113
answered May 10 '13 at 16:27
JoeBJoeB
1,18277
1,18277
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f15696976%2fpowershell-tee-object-without-overwriting-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown