Haskell removeDirectoryRecursive:Windowsで権限が拒否されました

ルード

removeDirectoryRecursiveWindowsで使用すると、「removeDirectoryRecursive:permissiondenied」というメッセージとともにIOExceptionタイプのPermissionDeniedがスローされます。ディレクトリを削除するために必要な権限があります。この問題は、同じ内容のディレクトリのLinuxでは発生しません。

ルード

削除するディレクトリに読み取り専用のファイルが含まれている場合、それらの削除はWindowsでは失敗しますが、Linuxでは失敗しません。

存在しますがremovePathForciblyごく最近導入されたばかりです。

そこで、ファイルを再帰的に書き込み可能にするための小さなヘルパー関数を次に示します。を呼び出す前に使用できますremoveDirectoryRecursive

import Control.Monad (forM_, when)
import System.FilePath ((</>))
import qualified System.Directory as FileSystem

-- Recursively makes all files and directories in a directory writable.
-- On Windows this is required to be able to recursively delete the directory.
makeWritableRecursive :: FilePath -> IO ()
makeWritableRecursive path = do
  permissions <- FileSystem.getPermissions path
  FileSystem.setPermissions path (FileSystem.setOwnerWritable True permissions)
  isDirectory <- FileSystem.doesDirectoryExist path
  when isDirectory $ do
    contents <- FileSystem.listDirectory path
    forM_ [path </> item | item <- contents] makeWritableRecursive

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

npminstallで権限が拒否されました

分類Dev

AndroidStudioとFirebaseで権限が拒否されました

分類Dev

docker-compose onlinuxで権限が拒否されました

分類Dev

/ proc / 1 / exeでroot権限が拒否されました

分類Dev

常にFileNotFoundException権限がAndroidで拒否されました

分類Dev

pushd> / dev / null権限が.zshrcで拒否されました

分類Dev

ShellExecute権限が拒否されましたSCRIPT70、IE11 Windows 10

分類Dev

rm:削除できません:権限が拒否されました

分類Dev

Docker警告config.json権限が拒否されました

分類Dev

Android i2c権限が拒否されました

分類Dev

docker.sock権限が拒否されました

分類Dev

Android-ServerSocket権限が拒否されました

分類Dev

Centos 7 / Apache / PHP-mkdir():権限が拒否されました

分類Dev

brew postinstall python(2.7.13):[Errno 13]権限が拒否されました

分類Dev

make:execvp:g ++:権限が拒否されました

分類Dev

bash:/home/x/.bash_profile:権限が拒否されました

分類Dev

Python socket.error:[Errno 13]権限が拒否されました

分類Dev

/ usr / local / libのOS X権限が拒否されました

分類Dev

Python-IOError:[Errno 13]権限が拒否されました:

分類Dev

setsockopt(TCP_NODELAY、1):権限が拒否されました

分類Dev

Golang os.Create権限が拒否されました

分類Dev

エラー:EACCES:権限が拒否されました

分類Dev

Android Firebase setValue()の権限が拒否されました

分類Dev

Android Firebase setValue()の権限が拒否されました

分類Dev

phpshell_exec権限が拒否されました

分類Dev

phpmyadminエラー13の権限が拒否されました

分類Dev

s3apigetobject権限が拒否されました

分類Dev

docker vieux / sshfs権限が拒否されました

分類Dev

関係<table>のPostgres権限が拒否されました

Related 関連記事

  1. 1

    npminstallで権限が拒否されました

  2. 2

    AndroidStudioとFirebaseで権限が拒否されました

  3. 3

    docker-compose onlinuxで権限が拒否されました

  4. 4

    / proc / 1 / exeでroot権限が拒否されました

  5. 5

    常にFileNotFoundException権限がAndroidで拒否されました

  6. 6

    pushd> / dev / null権限が.zshrcで拒否されました

  7. 7

    ShellExecute権限が拒否されましたSCRIPT70、IE11 Windows 10

  8. 8

    rm:削除できません:権限が拒否されました

  9. 9

    Docker警告config.json権限が拒否されました

  10. 10

    Android i2c権限が拒否されました

  11. 11

    docker.sock権限が拒否されました

  12. 12

    Android-ServerSocket権限が拒否されました

  13. 13

    Centos 7 / Apache / PHP-mkdir():権限が拒否されました

  14. 14

    brew postinstall python(2.7.13):[Errno 13]権限が拒否されました

  15. 15

    make:execvp:g ++:権限が拒否されました

  16. 16

    bash:/home/x/.bash_profile:権限が拒否されました

  17. 17

    Python socket.error:[Errno 13]権限が拒否されました

  18. 18

    / usr / local / libのOS X権限が拒否されました

  19. 19

    Python-IOError:[Errno 13]権限が拒否されました:

  20. 20

    setsockopt(TCP_NODELAY、1):権限が拒否されました

  21. 21

    Golang os.Create権限が拒否されました

  22. 22

    エラー:EACCES:権限が拒否されました

  23. 23

    Android Firebase setValue()の権限が拒否されました

  24. 24

    Android Firebase setValue()の権限が拒否されました

  25. 25

    phpshell_exec権限が拒否されました

  26. 26

    phpmyadminエラー13の権限が拒否されました

  27. 27

    s3apigetobject権限が拒否されました

  28. 28

    docker vieux / sshfs権限が拒否されました

  29. 29

    関係<table>のPostgres権限が拒否されました

ホットタグ

アーカイブ