github.com/DaAlbrecht/cf-cli@v0.0.0-20231128151943-1fe19bb400b9/cf/configuration/config_disk_persistor_win.go (about)

     1  //go:build windows
     2  // +build windows
     3  
     4  package configuration
     5  
     6  import (
     7  	"os"
     8  	"path/filepath"
     9  	"syscall"
    10  )
    11  
    12  func (dp DiskPersistor) makeDirectory() error {
    13  	dir := filepath.Dir(dp.filePath)
    14  
    15  	err := os.MkdirAll(dir, dirPermissions)
    16  	if err != nil {
    17  		return err
    18  	}
    19  
    20  	p, err := syscall.UTF16PtrFromString(dir)
    21  	if err != nil {
    22  		return err
    23  	}
    24  
    25  	attrs, err := syscall.GetFileAttributes(p)
    26  	if err != nil {
    27  		return err
    28  	}
    29  
    30  	return syscall.SetFileAttributes(p, attrs|syscall.FILE_ATTRIBUTE_HIDDEN)
    31  }