Comment puis-je supprimer l’atsortingbut ReadOnly sur un fichier en utilisant 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
Même si ce n’est pas Native PowerShell, on peut toujours utiliser la simple commande Atsortingb pour ceci:
atsortingb -R file.txt
$file = Get-Item "C:\Temp\Test.txt" if ($file.atsortingbutes -band [system.IO.FileAtsortingbutes]::ReadOnly) { $file.atsortingbutes = $file.atsortingbutes -bxor [system.IO.FileAtsortingbutes]::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 (je l’ai testé et cela fonctionne), cela devient:
$file = Get-Item "C:\Temp\Test.txt" if ($file.IsReadOnly -eq $true) { $file.IsReadOnly = $false }
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 ça:
PS> dir . -r *.cs | Set-ReadOnly # Using alias sro PS> dir . -r *.cs | sro
ou vous pouvez simplement utiliser:
get-childitem *.cs -Recurse -File | % { $_.IsReadOnly=$false }
Ci-dessus fonctionnera pour tous les fichiers .cs dans le sous-arbre du dossier en cours. Si vous avez besoin d’autres types inclus, ajustez simplement “* .cs” à vos besoins.
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("atsortingb -r +s C:\\sharefolder\*.* /s /d", AppWinStyle.Hide)
merci à tous ceux qui aident à résoudre certains problèmes … et à aider ce code
ce code fonctionne pour moi .. pour partager un dossier avec chacun avec l’autorisation en lecture et en écriture, vous pouvez l’utiliser dans .net