ise - Cómo quitar el atributo de solo lectura en el archivo mediante PowerShell?
powershell windows 10 (6)
Aunque no es Native PowerShell, todavía se puede usar el comando Attrib simple para esto:
attrib -R file.txt
¿Cómo puedo eliminar el atributo ReadOnly en un archivo usando una secuencia de comandos de PowerShell (versión 1.0)?
Si está utilizando las extensiones de la comunidad de PowerShell :
PS> Set-Writable test.txt
PS> dir . -r *.cs | Set-Writable
# Using alias swr
PS> dir . -r *.cs | swr
Puedes hacer lo contrario así:
PS> dir . -r *.cs | Set-ReadOnly
# Using alias sro
PS> dir . -r *.cs | sro
o simplemente puedes usar:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
Arriba funcionará para todos los archivos .cs en el subárbol de la carpeta actual. Si necesita otros tipos incluidos, simplemente ajuste "* .cs" a sus necesidades.
Puedes usar Set-ItemProperty
:
Set-ItemProperty file.txt -name IsReadOnly -value $false
o más corto:
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
}
El fragmento de código anterior se toma de este article
ACTUALIZACIÓN Usando la implementación de Keith Hill a partir de los comentarios (lo he probado y funciona), esto se convierte en:
$file = Get-Item "C:/Temp/Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
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)
gracias a todos los que están ayudando a resolver algún problema ... y ayudar a este código
este código me funciona ... para compartir una carpeta con todos los permisos de lectura y escritura, puede usar esto en .net