如何在React Native Fs中重命名/移动文件夹?

Vishal Mathimaran

我在重命名和移动文件夹时遇到了麻烦,因为React Native fs仅具有仅对文件而不对文件夹执行的moveFile选项。递归也很麻烦,由于同步执行,在执行重命名或移动选项后很难执行行。已将错误的附加代码附在下面。请帮我解决这个问题。

moveAll = (path, outputPath) => new Promise((resolve, reject) => {
// is a folder
if (path.split(".").length == 1) {
  // CHeck if folder already exists
  RNFS.exists(outputPath)
    .then((exists) => {
      if (exists) {
        // Delete the folder if exists
        RNFS.unlink(outputPath)
          .then(() => {

          })
          // `unlink` will throw an error, if the item to unlink does not exist
          .catch((err) => {
            console.log(err.message);
          });
      }
      // MAKE FRESH FOLDER
      RNFS.mkdir(outputPath);
      resolve(RNFS.readDir(path)
        .then((result) => {
          result.map(
            (item) =>
              new Promise((resolve, reject) => {
                resolve(this.moveAll(item.path, outputPath + "/" + item.name));
              })
          )
        })
        .catch((e) => {
          console.log("ERROR", e)
        })
      )
    })
    .catch((e) => {
      console.log(e)
    })

} else {
  RNFS.moveFile(path, outputPath)
    .then(() => {
    })
    .catch((e) => {
      console.log(e)
    })
}
})

提前致谢 :)

Vishal Mathimaran

感谢您的帮助,我为您的解决方案找到了答案

moveAll = async (path, outputPath) => {
    // is a folder
    if (path.split(".").length == 1) {
      // CHeck if folder already exists
      var exists = await RNFS.exists(outputPath);
      if (exists) {
        await RNFS.unlink(outputPath);
        await RNFS.mkdir(outputPath);
      }
      // MAKE FRESH FOLDER
      var result = await RNFS.readDir(path);
      for (var i = 0; i < result.length; i++) {
        if (result[i].isDirectory()) {
          await RNFS.mkdir(outputPath + "/" + result[i].name);
        }
        var val = await this.moveAll(result[i].path, outputPath + "/" + result[i].name);
      }
      await RNFS.unlink(path);
      return 1;
    } else {
      await RNFS.moveFile(path, outputPath);
      return 1;
    }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在终端中重命名文件夹?

来自分类Dev

如何在React Native中访问其他文件夹中的资产?

来自分类Dev

如何在realm-react-native中创建嵌套的类似于文件夹的结构?

来自分类Dev

如何快速重命名tfs中的文件夹?

来自分类Dev

重命名上一个文件夹中的datetime后如何将文件移动到新文件夹

来自分类Dev

重命名前一个文件夹中的datetime后如何将文件移动到新文件夹

来自分类Dev

如何正确重命名文件夹?

来自分类Dev

PHP:如何重命名文件夹

来自分类Dev

如何正确重命名文件夹?

来自分类Dev

如何在React Native中安装React Native Maps?

来自分类Dev

如何在不重命名目录的情况下重命名多个文件夹中的文件?

来自分类Dev

如何在MacOS中递归重命名文件夹和文件

来自分类常见问题

如何在Amazon S3中重命名文件和文件夹?

来自分类Dev

IMAP:java,如何确定文件夹已被重命名或移动?

来自分类Dev

如何快速在特定文件夹之间来回移动/重命名某些项目?

来自分类Dev

如何在React Native中优化图像

来自分类常见问题

如何在React Native中禁用旋转?

来自分类Dev

如何在React Native中渲染对象?

来自分类Dev

如何在React Native中显示图标?

来自分类Dev

如何在React Native中删除警告

来自分类Dev

如何在React Native中传递对象?

来自分类Dev

如何在React Native中刷新屏幕

来自分类Dev

如何在React Native中优化图像

来自分类Dev

如何在 React Native 中缩放图像?

来自分类Dev

如何在TFS中重命名解决方案级别的文件夹?

来自分类Dev

iOS:如何在文档目录中重命名文件夹

来自分类Dev

如何在Windows用户库中重命名默认文件夹

来自分类Dev

如何在Windows 10中重命名用户文件夹?

来自分类Dev

如何在Windows 10中重命名c:\ users \ userName文件夹?

Related 相关文章

  1. 1

    如何在终端中重命名文件夹?

  2. 2

    如何在React Native中访问其他文件夹中的资产?

  3. 3

    如何在realm-react-native中创建嵌套的类似于文件夹的结构?

  4. 4

    如何快速重命名tfs中的文件夹?

  5. 5

    重命名上一个文件夹中的datetime后如何将文件移动到新文件夹

  6. 6

    重命名前一个文件夹中的datetime后如何将文件移动到新文件夹

  7. 7

    如何正确重命名文件夹?

  8. 8

    PHP:如何重命名文件夹

  9. 9

    如何正确重命名文件夹?

  10. 10

    如何在React Native中安装React Native Maps?

  11. 11

    如何在不重命名目录的情况下重命名多个文件夹中的文件?

  12. 12

    如何在MacOS中递归重命名文件夹和文件

  13. 13

    如何在Amazon S3中重命名文件和文件夹?

  14. 14

    IMAP:java,如何确定文件夹已被重命名或移动?

  15. 15

    如何快速在特定文件夹之间来回移动/重命名某些项目?

  16. 16

    如何在React Native中优化图像

  17. 17

    如何在React Native中禁用旋转?

  18. 18

    如何在React Native中渲染对象?

  19. 19

    如何在React Native中显示图标?

  20. 20

    如何在React Native中删除警告

  21. 21

    如何在React Native中传递对象?

  22. 22

    如何在React Native中刷新屏幕

  23. 23

    如何在React Native中优化图像

  24. 24

    如何在 React Native 中缩放图像?

  25. 25

    如何在TFS中重命名解决方案级别的文件夹?

  26. 26

    iOS:如何在文档目录中重命名文件夹

  27. 27

    如何在Windows用户库中重命名默认文件夹

  28. 28

    如何在Windows 10中重命名用户文件夹?

  29. 29

    如何在Windows 10中重命名c:\ users \ userName文件夹?

热门标签

归档