Respostas:
Você pode usar Set-ItemProperty
:
Set-ItemProperty file.txt -name IsReadOnly -value $false
ou mais curto:
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 snippet de código acima foi retirado deste artigo
ATUALIZAÇÃO Usando a implementação de Keith Hill a partir dos comentários (eu testei isso e funciona), isso se torna:
$file = Get-Item "C:\Temp\Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
Mesmo que não seja Native PowerShell, ainda é possível usar o comando Attrib simples para isso:
attrib -R file.txt
ou você pode simplesmente usar:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
Acima funcionará para todos os arquivos .cs na subárvore da pasta atual. Se precisar de outros tipos incluídos, basta ajustar "* .cs" às suas necessidades.
Se você estiver usando as extensões da comunidade do PowerShell :
PS> Set-Writable test.txt
PS> dir . -r *.cs | Set-Writable
# Using alias swr
PS> dir . -r *.cs | swr
Você pode fazer o oposto assim:
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)
obrigado por todos que estão ajudando a resolver algum problema ... e ajudando este código
este código está funcionando para mim .. para compartilhar uma pasta para todos com permissão de leitura e gravação, você pode usar isso em .net