ฉันจะเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ข้อความและหน้าต่างคอนโซล (cmd) ในเวลาเดียวกันได้อย่างไร
ฉันจะเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ข้อความและหน้าต่างคอนโซล (cmd) ในเวลาเดียวกันได้อย่างไร
คำตอบ:
Powershell 2.0 มาพร้อมกับTee-Object
cmdlet ซึ่งทำเช่นนั้น หากคุณใช้ Windows 7 มาพร้อมกับ Powershell 2.0 ที่ติดตั้ง หากคุณกำลังใช้ Windows รุ่นเก่า, Powershell 2.0 เป็นใช้ได้สำหรับการดาวน์โหลด
ประโยชน์ของ Powershell ก็คือมันสามารถเรียกใช้คำสั่งที่ cmd สามารถทำได้เช่นกัน
ตัวอย่าง:
dir | Tee-Object -file c:\output\dir.txt
มีคำตอบที่ดีสำหรับคำถามที่เหมือนกันในStackOverflow
โดยสรุปค้นหาพอร์ต Win32 ของtee
คำสั่งUnix
ใช้ Tee-Object เพื่อไปป์กับตัวแปรด้วยสวิตช์ -variable จากนั้นใช้ตัวแปรเพื่อส่งออกไปยังหน้าจอตามที่คุณต้องการ
get-aduser -filter * -Properties Name, CanonicalName, LogonWorkstations | where { $_.logonworkstations -match "\D" } | Select Name, CanonicalName, logonworkstations | sort canonicalname | Tee-Object -variable Users | Export-Csv -Path ".\$($MyInvocation.MyCommand.Name.split(".")[0])__$(Get-Date -uformat "%Y-%m-%d_%I-%M-%S_%p").csv" -NoTypeInformation
$Users | FL
Clear-Variable Users