Wie Readonly Attribut auf Datei mit Powershell entfernen?
-
23-08-2019 - |
Frage
Wie kann ich das Readonly Attribut auf einer Datei entfernen, eine Powershell (Version 1.0) Skript?
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