技术解析

如何把一个硬盘里面各个文件夹里面的 jpg 图片文件拷贝出来
0
2021-06-24 18:21:48
idczone

硬盘是个 320G 的 NTFS 硬盘,有些问题,Windows 里面看见一个回收站。在 Ubuntu 里面,可以看见四个名字很长的文件夹,里面文件夹套文件夹,但是文件夹貌似不是多得可怕的程度。 在 Ubuntu 里面,请问有什么命令可以把这个硬盘的各个文件夹里面的 jpg 图片文件拷贝到另外一个文件夹,最好能保持文件结构。网上搜索了下一些,貌似不能保持文件夹结构,这样可能有文件名重名冲突或者覆盖掉。 在此请教了,谢谢!


实在不行,写几行代码吧。

很羞愧,就是不会写。。。

find 路径 -name "*.jpg" -exec cp --parents {} 目标路径 \;

建议先-print 再 -exec

locate .jpg | xargs -I cp {} /data/{}
没测试,基本上应该差不多
locate 之前 sudo updatedb 一下

用 py 的话很简单的,我之前写过按照文件目录改子目录下文件名的代码,十几行就能搞定,你这等于就是换成新建文件夹然后复制的操作,百度一下了解一点 py 代码就行了,有编程基础根本不需要学 py 就能实现~

mkdir 新建文件夹 && find 源文件夹 / -name '*.jpg' |xargs tar czf 新建文件夹.tgz && tar zxvf 新建文件夹.tgz -C 保存图片文件目录

难道就只有我看不懂描述么,跟 Windows 回收站有什么关系

多谢楼上各位出的主意,感恩。我一一试试。

抱歉。我的意思是这个 NTFS 格式硬盘很怪,挂着 Windows 里面只能看见一个回收站图标。挂在 Ubuntu 里面,可以看见 4 个文件夹,文件夹名叫 recycler 之类。

那个东西就是 Windows 的回收站

猜测这块硬盘之前是接其他电脑吧,东西也是在其他电脑删到回收站的。如果是这样的话貌似有点难处理,因为回收站里的文件都是没有扩展名的,而且原始的文件名也是找不回来的。
相对比较容易的方式就是搜索*.*,全部拷贝到一个请文件夹,然后命令行批量重命名加上.jpg 后缀,通过分辨率排序后即可找到真正的 jpg,然后再全部剪切走。

挂个 windows,如果运气好的话就能直接认出来回收站里面的文件

find ./ -name "*.jpg" > aaa.txt
cat aaa.txt| while read f
do
cp $f /path/for/copy/$f
done;

用 everything,搜索 jpg,全选复制。

everything 这个 win 神级软件你值得一试
话说怎么贴图到回复框?

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服