What version of Go are you using (go version)?
go version go1.10.2 windows/amd64
Does this issue reproduce with the latest release?
Untested, but I don't see any changes that would have fixed it
What operating system and processor architecture are you using (go env)?
windows/amd64
What did you do?
package main
import (
"os"
)
func main() {
err := os.RemoveAll("./folder_with_icon")
if err != nil {
panic(err)
}
}
folder_with_icon is an empty folder that has had a custom icon added via Windows Explorer's interface (Properties => Customize => Change Icon...).
What did you expect to see?
folder_with_icon should be deleted.
What did you see instead?
panic: remove ./folder_with_icon: Access is denied.
goroutine 1 [running]:
main.main()
C:/[path]/test.go:10 +0x6a
Notes
This is similar to #9606.
Setting a custom folder icon on Windows sets the read-only attribute on the folder and creates a desktop.ini file with the system attribute inside the folder. Despite being read-only, the folder can be deleted both through File Explorer and by rd /s folder_with_icon by its owner, even if the owner is not an administrator account. The above Go program will not delete the folder, even if it is run with administrator privileges.
os.RemoveAll() removes the desktop.ini but does not delete the folder.
What version of Go are you using (
go version)?go version go1.10.2 windows/amd64Does this issue reproduce with the latest release?
Untested, but I don't see any changes that would have fixed it
What operating system and processor architecture are you using (
go env)?windows/amd64What did you do?
folder_with_iconis an empty folder that has had a custom icon added via Windows Explorer's interface (Properties=>Customize=>Change Icon...).What did you expect to see?
folder_with_iconshould be deleted.What did you see instead?
Notes
This is similar to #9606.
Setting a custom folder icon on Windows sets the
read-onlyattribute on the folder and creates adesktop.inifile with thesystemattribute inside the folder. Despite being read-only, the folder can be deleted both through File Explorer and byrd /s folder_with_iconby its owner, even if the owner is not an administrator account. The above Go program will not delete the folder, even if it is run with administrator privileges.os.RemoveAll()removes thedesktop.inibut does not delete the folder.