如何使用PowerShell(版本1.0)脚本删除文件的ReadOnly属性?
答案 0 :(得分:140)
您可以使用Set-ItemProperty
:
Set-ItemProperty file.txt -name IsReadOnly -value $false
或更短:
sp file.txt IsReadOnly $false
答案 1 :(得分:16)
$file = Get-Item "C:\Temp\Test.txt"
if ($file.attributes -band [system.IO.FileAttributes]::ReadOnly)
{
$file.attributes = $file.attributes -bxor [system.IO.FileAttributes]::ReadOnly
}
以上代码段取自此article
<强>更新强> 使用评论中的Keith Hill's实现(我已经测试了它,它确实有效),这变为:
$file = Get-Item "C:\Temp\Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
答案 2 :(得分:15)
即使它不是 Native PowerShell,仍然可以使用简单的Attrib命令:
attrib -R file.txt
答案 3 :(得分:8)
或者你可以简单地使用:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
以上将适用于当前文件夹的子树中的所有.cs文件。如果您需要其他类型,只需根据您的需要调整“* .cs”。
答案 4 :(得分:7)
如果您正好使用PowerShell Community Extensions:
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
答案 5 :(得分: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)
感谢任何帮助解决问题的人......并帮助解决这个问题
此代码正在为我工作..与每个具有读写权限的人共享一个文件夹 你可以在.net
中使用它