当我搞砸了 rsync 并忘记添加尾部斜杠时遇到了这个问题。
所以现在我有一个额外的文件夹。
当前文件夹树
/Volumes/hd/images1/images1/
/Volumes/hd/images2/images2/
/Volumes/hd/images3/images3/
我想得到这个
/Volumes/hd/images1/
/Volumes/hd/images2/
/Volumes/hd/images3/
有没有办法摆脱多余的文件夹来得到我想要的东西,我试过
mv /Volumes/hd/images1/images1/ /Volumes/hd/images1/
但是有一个错误说它们是相同的,我也尝试了一些基本的 php 脚本来为我完成这项工作,但没有任何运气。
我无法删除或真正复制文件夹的内容,因为它有大量数据,我可以通过更改父文件夹的名称手动完成,然后将子文件夹拖到/hd,然后删除旧的父文件夹。但它有很多工作,所以如果有人知道如何做到这一点,我会非常高兴。
如果有任何兴趣,我会使用 Mac OS X
最佳答案
你应该学习如何使用 shell 命令,也许是这样的
for f in /volumes/hd/* ; do
b=$(basename $f)
d=$(dirname $f)
mv $f $d/$b.dir
mv $d/$b.dir/* $f
done
首先通过将 mv
替换为 echo mv
来检查它是否执行了您想要的操作
您真的应该学习如何在 MacOSX 上使用基本的 Unix 命令(在终端内)
关于linux - 将子文件夹重命名为父文件夹,删除 'extra' 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8653715/