Powershell dosya içeriğini yeniden biçimlendirmek için

oy
30

Ben onun ip için bir dosya ve çekler içerik alır bir komut dosyası var. Sonra bazı diğer metin dosyasına eklenir.

[System.Collections.ArrayList]$hlist1 = Get-Content -Path C:\Timezone\Update\host.txt
$hiplist = New-Object System.Collections.ArrayList
$hlist2 = New-Object System.Collections.ArrayList
ForEach ($h in $hlist1)
{
 $hip = Resolve-DnsName $h
 $hiplist.Add($hip)
}
 $hiplist | Out-File C:\Timezone\Update\hiplist.txt

aşağıda gösterildiği gibi hazırlandı elde ettiğini dosyasıdır:

             ----                         ----   ---   -------    --------
        WIN-JB2A2FS84MQ.domain.com        A      1200  Answer     10.3.0.4
                                                                   8       
        WIN-QP0BH4SD2H9.domain.com        A      1200  Answer     10.3.1.1
                                                                   9       

Yapmam gerek:

  1. İlk -------- çizgileri kurtulmak.
  2. Aynı çizgide (10.3.0.10) tüm ip olsun

Biçim-Tablo -Autosize denediniz ardından vb -Skip 1, ama hiçbir şans seçin.

Bu nasıl elde edilebilir.? kod elle ran zaman beklendiği gibi çalışıyor, ancak görev zamanlayıcı kullanılarak yürütülen bu sorunu atar unutmayınız.

Matt'in cevap dayanarak düzenleme

Şimdi metin dosyası içerir:

Address,IPAddress,QueryType,IP4Address,Name,Type,CharacterSet,Section,DataLength,TTL
10.3.0.48,10.3.0.48,A,10.3.0.48,WIN-JB2A2FS84MQ.domain.com,A,Unicode,Answer,4,1200
10.3.1.19,10.3.1.19,A,10.3.1.19,WIN-QP0BH4SD2H9.domain.com,A,Unicode,Answer,4,1200

Peter-sal cevabı çıkışı:

Name                            Type   TTL   Section    IPAddress                                
----                            ----   ---   -------    ---------                                
WIN-JB2A2FS84MQ.domain.com        A      1200  Answer     10.3.0.48
WIN-QP0BH4SD2H9.domain.com        A      1200  Answer     10.3.1.19

Ama yine Adı üstünde bir boşluk var. Ben WIN-JB2 önce mevcut her şeyi silmek gerekir .....

Oluştur 06/10/2015 saat 10:13
kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
2

Gayet test edemez ama benim bir yorumuna geri gelmek istiyorum. Resolve-DNSNameOnların çıkış şey için farkında nesne daha iyi ait tayin yani nesneleri döndürür. Export-CSVBurada tercih olmalıdır.

$hlist1 = Get-Content -Path "C:\Timezone\Update\host.txt"
$hlist1 | ForEach-Object{Resolve-DnsName $_} | 
    Export-Csv "C:\Timezone\Update\hiplist.txt" -NoTypeInformation

Normalde bu sevmiyorum ama isterseniz kullanmak gerekir Format-tableşimdi çıktı. Bu aradığınızı daha satır içi gibi görünüyor.

$hlist1 = Get-Content -Path "C:\Timezone\Update\host.txt"
$hlist1 | ForEach-Object{Resolve-DnsName $_} | 
    Format-Table -HideTableHeaders | Select-Object -Skip 1 |
    Out-File "C:\Timezone\Update\hiplist.txt" -Width 200

Belki de bunu çıkışını tercih ederim. başlık başlangıçta boş bir çizgi yanı sıra şimdi çıkarılmalıdır.

Bu daha önce ve çıkış sonrası bazı beyaz-boşluk yaratır. Basit bir çözüm o kadar tamamlamayı olduğunuTrim()

$hlist1 = Get-Content -Path "C:\Timezone\Update\host.txt"
$results = ($hlist1 | ForEach-Object{Resolve-DnsName $_} |
    Format-Table -HideTableHeaders | 
    Out-string).Trim()`
$results | Out-File "C:\Timezone\Update\hiplist.txt" -Width 200`
Cevap 06/10/2015 saat 10:35
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more