script ise ejecutar desde commands comandos powershell powershell-v1.0 scripting

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