Réponses:
Vous pouvez utiliser Set-ItemProperty
:
Set-ItemProperty file.txt -name IsReadOnly -value $false
ou plus court:
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
}
L'extrait de code ci-dessus est tiré de cet article
MISE À JOUR En utilisant l' implémentation de Keith Hill à partir des commentaires (j'ai testé ceci, et cela fonctionne), cela devient:
$file = Get-Item "C:\Temp\Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
Même s'il ne s'agit pas de PowerShell natif , on peut toujours utiliser la simple commande Attrib pour cela:
attrib -R file.txt
ou vous pouvez simplement utiliser:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
Ci-dessus fonctionnera pour tous les fichiers .cs dans la sous-arborescence du dossier actuel. Si vous avez besoin d'autres types inclus, ajustez simplement "* .cs" selon vos besoins.
Si vous utilisez les extensions de communauté PowerShell :
PS> Set-Writable test.txt
PS> dir . -r *.cs | Set-Writable
# Using alias swr
PS> dir . -r *.cs | swr
Vous pouvez faire le contraire comme ceci:
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)
merci à tous ceux qui aident à résoudre un problème ... et aident ce code
ce code fonctionne pour moi .. pour partager un dossier avec tout le monde avec l'autorisation de lecture et d'écriture, vous pouvez l'utiliser dans .net