2009-05-21 20 views

cevap

130

Sen Set-ItemProperty kullanabilirsiniz:

Set-ItemProperty file.txt -name IsReadOnly -value $false 

veya daha kısa:

sp file.txt IsReadOnly $false 
+2

Set-Property, boru hattında temiz bir şekilde yapabilmenizi sağlayan tek yerleşik yöntemdir ve joker karakterlerini kullanır: {sp * .txt IsReadOnly $ false} VEYA. -recurse -include * .cs | sp -name IsReadOnly -value $ false} – Jaykul

+0

PowerShell v2'yi kullanıyorum Sp için kullanımı zor CmdLet bindngs görüyorum. PSCX Set Yazılabilir ve Set-ReadOnly bu sorunları yok. Gördüğüm sorunları çözüp daha sonra bağlantı kuracağım. Keith'in PowerShell v2 (modern PowerShell) için yanıtını öneriyorum. – yzorg

+3

@yzorg: Peki bana tam olarak ne diyorsun? Keith'in cevabı gelince, PSCX kullanıyor. Herkesin yüklü olanları yok ve bu gerçekten bir PowerShell v1 vs v2 vakası değil. – Joey

15
$file = Get-Item "C:\Temp\Test.txt" 

if ($file.attributes -band [system.IO.FileAttributes]::ReadOnly) 
{ 
    $file.attributes = $file.attributes -bxor [system.IO.FileAttributes]::ReadOnly  
} 

Yukarıdaki kod parçası alınır bu article

(Bu test ettik ve bu işi yapar), bu hale yorumlardan Keith Hill's uygulanmasını kullanma GÜNCELLEME :

$file = Get-Item "C:\Temp\Test.txt" 

if ($file.IsReadOnly -eq $true) 
{ 
    $file.IsReadOnly = $false 
} 
+6

Uygulama bundan daha basittir: $ file.IsReadOnly = $ false –

15

değil Yerli PowerShell olsa bile, hala basitkullanabilir Bunun için 10 komut: ... çözüldü bazı sorunun yardımcı ve bu kodu

bu kod benim için çalışıyor yardımcı oluyor herkes için

attrib -R file.txt 
+0

Teşekkürler! Bu benim için çalıştı: dir. -r * .cs | % {$ _. tam ad} | % {attrib -r $ _} –

+1

Bir adım atlanabilir: dir. -r * .cs | % {attrib -r $ _. FullName} –

2
Shell("net share sharefolder=c:\sharefolder/GRANT:Everyone,FULL") 
Shell("net share sharefolder= c:\sharefolder/G:Everyone:F /SPEC B") 
Shell("Icacls C:\sharefolder/grant Everyone:F /inheritance:e /T") 
Shell("attrib -r +s C:\\sharefolder\*.* /s /d", AppWinStyle.Hide) 

sayesinde .. her bir klasör paylaşmak için okuma ve yazma izni ile bir sen .net

4

bu kullanabilir veya basitçe kullanabilirsiniz:

get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false } 

Yukarıdaki, geçerli klasörün alt ağacındaki tüm .cs dosyaları için çalışacaktır. Dahil olan başka türlere ihtiyacınız varsa, ihtiyaçlarınızı "* .cs" olarak ayarlayın.

+2

Sadece dosyalarla çalışmak için komutu (add -File) ayarlayın. Dizinler mülkiyete sahip değil. –

İlgili konular