2016-03-28 15 views
0

いくつかのディレクトリからいくつかのファイルを削除する簡単なスクリプトを書きましたが、すべての.exeファイルとすべての.dllファイルを削除する必要があります。私はos.remove("path_name")を使用して.exeファイルを削除することができますが、.dllファイルを削除しようとすると「Windowsエラー:[エラー267]ディレクトリ名が無効です」というメッセージが表示されます。私は以下のコードを追加しています。誰かが私の問題解決に役立つことを願っています。pythonスクリプトを使用してfile.dllを削除できませんでした

for name in dirs: dirPath = RES_PATH + "\\" + name dirsInside = os.listdir(dirPath) LOG_FILE = open(dirPath + "\\log.log", 'w') for doc in dirsInside: if (".exe" in doc): os.remove(dirPath + "\\" + doc) elif (".dll" in doc): shutil.rmtree(os.path.join(dirPath, doc)) if ("ResultFile.txt" in doc): pathToResultFile = dirPath + "\\" + doc fileResult = open(pathToResultFile, 'r') lines = fileResult.readlines() ありがとうございました。

EDIT

私は私が手 os.unlink()を使用しようとしています

: 「WindowsError:[エラー5]アクセスが拒否されました」(.exeファイルは、それが必要として削除される)

.dllファイルのため
+0

エラー番号267は何を意味しますか? –

+0

"Windowsエラー:[エラー267]ディレクトリ名が無効です"これは私に与えられたものです。 –

+0

質問に追加してください。次に、最小限の例を単独で作成し、2つの 'unlink()'呼び出しを示します。最初のものは、exeを削除して、成功するはずです。 DLLを削除する2番目の方法は失敗します。 –

答えて

2

削除しようとしているファイルが.dllであるため、ファイルが使用されている可能性が高いため、削除することはできません。

最初に手動で削除できるかどうかを確認してください。

+0

ありがとうございますが、削除する必要のあるファイルがたくさんあるため、手動で削除することはできません。そこに良い方法はありませんか? –

関連する問題