Câu trả lời:
Bạn có thể sử dụng Set-ItemProperty
:
Set-ItemProperty file.txt -name IsReadOnly -value $false
hoặc ngắn hơn:
sp file.txt IsReadOnly $false
$file = Get-Item "C:\Temp\Test.txt"
if ($file.attributes -band [system.IO.FileAttributes]::ReadOnly)
{
$file.attributes = $file.attributes -bxor [system.IO.FileAttributes]::ReadOnly
}
Đoạn mã trên được lấy từ bài viết này
CẬP NHẬT Sử dụng cách triển khai của Keith Hill từ các nhận xét (tôi đã thử nghiệm điều này và nó hoạt động), điều này trở thành:
$file = Get-Item "C:\Temp\Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
Mặc dù nó không phải là Native PowerShell, người ta vẫn có thể sử dụng lệnh Attrib đơn giản cho việc này:
attrib -R file.txt
hoặc bạn có thể chỉ cần sử dụng:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
Ở trên sẽ hoạt động cho tất cả các tệp .cs trong cây con của thư mục hiện tại. Nếu bạn cần các loại khác đi kèm thì chỉ cần điều chỉnh "* .cs" theo nhu cầu của bạn.
Nếu bạn đang sử dụng Tiện ích mở rộng cộng đồng PowerShell :
PS> Set-Writable test.txt
PS> dir . -r *.cs | Set-Writable
# Using alias swr
PS> dir . -r *.cs | swr
Bạn có thể làm ngược lại như sau:
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)
cảm ơn vì bất kỳ ai đang giúp giải quyết một số vấn đề ... và giúp mã này
mã này đang hoạt động đối với tôi .. để chia sẻ một thư mục cho mọi người với quyền đọc và ghi, bạn có thể sử dụng mã này trong .net