简体   繁体   中英

powershell writing to a log file

I've written the code below which works fine apart from one of the variables is over 200 characters and goes onto the next line messing the layout up. Any suggestions on a better layout so if one of the variables is long, it still retains structure?

$WriteLog = $null 
$WriteLog = @()
$WriteLog +="Here is some stuff:                $stuff1"
$WriteLog +="Here is some stuff:                $stuff2"
$WriteLog +="Here is some stuff:                $stuff3"
$WriteLog +="Here is some stuff:                $stuff4"
$WriteLog +="Here is some stuff:                $stuff5"
$WriteLog +="Here is some stuff:                $stuff6"
Out-File -InputObject $WriteLog -Append -NoClobber -FilePath "$env:SystemDrive\somestuff\somestuff.txt"

Example output:

"Here is some stuff:                    stuff1"
"Here is some stuff:            stuff2"  
"Here is some stuff:                Heres a lot of stuff
stuff3, stuff3, stuff3, stuff3,  stuff3, stuff3" 
"Here is some stuff:            stuff4"  
"Here is some stuff:                    stuff5"
"Here is some stuff:                    stuff6"

I would use formatting if you are not sure (I hope I understand your problem). See

'{0,5} -f 5
#vs.
'{0,5} -f 1115

Then..

$WriteLog = $stuff1, $stuff2, $stuff3, $stuff4, $stuff5, $stuff6 | 
               Foreach-Object { "Here is some stuff:{0,20}" -f $_ }
$WriteLog = $WriteLog -join "`n"

Out-File has a -Width parameter that might help. Or can you format the long variable as a here string?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM