2008-09-16 36 views
3

'u kullanarak bir dizindeki tüm dosyaları ve alt dizini önceden bekletme Bir dosyayı, Powershell'i kullanarak klasördeki ve alt klasörlerdeki bir dosyadaki tüm dosyalara nasıl önceden (dosya başlangıcına yerleştirilir) gönderebilirim?PowerShell

Tüm .cs için bir standart başlık dosyası eklemem gerekiyor ve bunu yapmak için Powershell'i kullanmaya çalışıyordum, ancak birkaç satırlık kod ekleyebildiğim halde, bunu önceden göndermeye çalışırken sıkışmıştım .

cevap

9

Size, yapılabilecek yollardan birini gösterecek çok basit bir örnek.

$Content = "This is your content`n" 
Get-ChildItem *.cs | foreach-object { 
$FileContents = Get-Content -Path $_ 
Set-Content -Path $_ -Value ($Content + $FileContents) 
} 
1

Hiçbir fikriniz yok, ancak ekleyeceğiniz kod varsa, bunu başka bir yoldan yapın.

  1. yeniden adlandırma, varolan dosya gibi bir şey
  2. yeniden adlandırılmış dosyayı silin öncekine,
  3. ekleme adlandırılan dosyayı yeni boş dosyaya
  4. ekleme başlığın üstünde aynı adlı boş dosya oluşturun
1

Algoritmik olarak konuşurken, geçici bir dosyaya ihtiyacınız yok:

content = başlığında + içerik

:

1) böyle yapıldığında), adlı bir değişken içerikte içeriğe sahip varsayarak, bir dize olarak (içeriklerini değiştirme)

2 değiştirmeniz gerekir dosyasının içeriğini okumak

3), her bir dil bir arama yöntemi vardır, dosyanın başlangıcına aramak ya da bir arama eşdeğer

4) yeni içerik

5) dosya tanıtıcısı

tarafından döndürülen bir pozisyonda dosya kesecek mal

Burada var, geçici dosya yok. :)