Comment supprimer l'attribut ReadOnly d'un fichier à l'aide d'un script PowerShell (version 1.0)?
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 cette article
[~ # ~] mise à jour [~ # ~] Utilisation de l'implémentation Keith Hill's dans les commentaires (j'ai testé cela, et ça marche), cela devient:
$file = Get-Item "C:\Temp\Test.txt"
if ($file.IsReadOnly -eq $true)
{
$file.IsReadOnly = $false
}
Même si ce n'est pas 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" à vos besoins.
S'il vous arrive d'utiliser les PowerShell Community Extensions :
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 pour tous ceux qui aident à résoudre un problème ... et aident ce code
ce code fonctionne pour moi .. pour partager un dossier avec chacun avec la permission de lecture et d'écriture, vous pouvez l'utiliser dans .net