Frage

Wie kann ich das Readonly Attribut auf einer Datei entfernen, eine Powershell (Version 1.0) Skript?

War es hilfreich?

Lösung

Sie können Set-ItemProperty verwenden:

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

oder kürzer:

sp file.txt IsReadOnly $false

Andere Tipps

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

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

Der obige Code-Schnipsel aus diesem Artikel

UPDATE Mit Keith Hill Umsetzung aus den Kommentaren (ich dies habe getestet, und es funktioniert), dies zu:

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

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

Auch wenn es nicht Native Powershell kann man immer noch die einfache verwenden Attrib Befehl:

attrib -R file.txt

oder Sie können einfach verwenden:

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

Vor wird für alle CS-Dateien in Unterbaum des aktuellen Ordners arbeiten. Wenn Sie andere Arten benötigen enthalten dann einfach anpassen „* .cs“ auf Ihre Bedürfnisse.

Wenn Sie passieren die Powershell Community-Erweiterungen werden:

PS> Set-Writable test.txt
PS> dir . -r *.cs | Set-Writable
# Using alias swr
PS> dir . -r *.cs | swr

Sie können das Gegenteil tun wie folgt:

PS> dir . -r *.cs | Set-ReadOnly
# Using alias sro
PS> dir . -r *.cs | sro
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)

Dank für alle, die zu lösen einige Probleme helfen ... und helfen, diesen Code

Dieser Code arbeitet für mich .. um einen Ordner zu jedem mit Lese zu teilen und die Erlaubnis schreiben Sie können dies in .net verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top