如何使用PowerShell删除文件上的ReadOnly属性?

如何使用PowerShell(版本1.0)脚本删除文件上的ReadOnly属性?

你可以使用Set-ItemProperty

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

或更短:

 sp file.txt IsReadOnly $false 

即使它不是本地 PowerShell,仍然可以使用简单的Attrib命令:

 attrib -R file.txt 
 $file = Get-Item "C:\Temp\Test.txt" if ($file.attributes -band [system.IO.FileAttributes]::ReadOnly) { $file.attributes = $file.attributes -bxor [system.IO.FileAttributes]::ReadOnly } 

上面的代码片段摘自本文

更新从评论中使用基思希尔的实现(我已经testing了这个,它确实工作),这成为:

 $file = Get-Item "C:\Temp\Test.txt" if ($file.IsReadOnly -eq $true) { $file.IsReadOnly = $false } 

如果您碰巧使用PowerShell社区扩展 :

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

你可以这样做:

 PS> dir . -r *.cs | Set-ReadOnly # Using alias sro PS> dir . -r *.cs | sro 

或者你可以简单地使用:

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

以上将适用于当前文件夹的子树中的所有.cs文件。 如果您需要其他types,只需调整“* .cs”以满足您的需求。

 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) 

感谢任何帮助解决一些问题的人……并帮助这些代码

此代码正在为我工​​作..共享一个文件夹的读写权限,你可以在.net中使用