Electronのshell.moveItemToTrashが失敗する時に試すこと
2959 ワード
環境
- デスクトップアプリ制作フレームワーク Electron 1.3.1
- OS: Windows7
経緯
Electronでファイルをゴミ箱に入れるメソッド、shell.moveItemToTrash
を初めて使ったのですが、常にfalseが返ってきてしまい、うまくいきませんでした。
import shell from 'electron';
const fullpath = getFilePath(); // 'c:/path/to/file.js'のような文字列を返す関数
const result = shell.moveItemToTrash(fullpath);
console.log(result); // -> false (失敗)
検索しても解決策が見つからないので色々と試したところ、パスの区切りがスラッシュになっていたのが原因で、バックスラッシュに置換したらちゃんと動作するようになりました。
import path from 'path'; // 追加
import shell from 'electron';
const fullpath = getFilePath().replace(/\//g, path.sep); // 実行環境のパス区切り文字に置換
const result = shell.moveItemToTrash(fullpath);
console.log(result); // -> true (成功)
shell.showItemInFolder
やshell.openItem
はスラッシュのままで問題なく動いたので、気づくまでに少し時間がかかりました……。
※最新版のElectron2.0.2でも試してみましたが同様でした。
Author And Source
この問題について(Electronのshell.moveItemToTrashが失敗する時に試すこと), 我々は、より多くの情報をここで見つけました https://qiita.com/jay-es/items/4b83ff647e7ab935fab2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .