Відповіді:
Ви можете використовувати Set-ItemProperty
:
Set-ItemProperty file.txt -name IsReadOnly -value $false
або коротше:
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
}
Вищенаведений фрагмент коду взято з цієї статті
ОНОВЛЕННЯ Використовуючи реалізацію Кіта Хіла з коментарів (я тестував це, і це працює), це стає:
$file = Get-Item "C:\Temp\Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
Хоча це не Native PowerShell, все одно можна використовувати для цього просту команду Attrib :
attrib -R file.txt
або ви можете просто використовувати:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
Вище буде працювати для всіх .cs-файлів у під-дереві поточної папки. Якщо вам потрібні інші типи, просто відрегулюйте "* .cs" під свої потреби.
Якщо ви використовуєте розширення спільноти 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
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