type
status
date
slug
summary
tags
category
icon
password
URL
今天有个需求是要分别将几百个文件夹里的文件移到一起,网上搜索了一下,只有一个B站上的代码看上去有点靠谱,但遗憾的是没有成功,没能实现我的要求。所以,就让AI来帮忙了。
通义千问没有搞定!
我让通义千问生成一个脚本代码,提示词如下:
通义千问的回复如下:
遗憾的是代码不能执行,显示乱码……
KIMI 一开始也没有搞定!
于是去问了KIMI,KIMI给出的代码如下:
KIMI 还贴心地给了提示:
但是代码出错了!没有任何文件被复制出来,也没有创建文件夹。
我以为是我在写提示词的时候,写明文件夹名称和文件名的原因,因此告诉KIMI:
脚本执行错误,请不考虑文件夹和文件的名称,为我重新生成脚本代码。
遗憾的是代码仍然不能执行,与通义千问显示同样的乱码,只不过乱码的内容不一样……
后来,复制了B站的那个代码,让他优化。结果打开文件夹一看,傻眼了:只有4个文件。所以我以为代码不行。(现在看来,其实应该是成功了,只是覆盖了同名的文件后,就只剩下了4个文件了。)
只好去找Claude了
对它也没有敢太放心,还是复制了B站的那个代码,让他优化:
Claude 优化后的代码也是一次就成功啦!
代码如下:
但是,打开文件夹一看,又傻眼了:和KIMI优化后的一样,只有4个文件。
检查后发面,每个文件夹里的文件名都是重复的,这才明白是文件被覆盖了。所以让Claude继续优化代码。
优化后给出的代码,也是本文最有效果的代码如下:
这个改进版脚本的主要特点:
- 通过保留文件的相对路径来创建唯一文件名
- 将路径中的反斜杠
\
替换为下划线_
- 保留原始文件扩展名
- 确保即使不同文件夹中有同名文件也能被正确保存
这个代码也有一点问题:每一个文件都被多复制了一次。这个问题我后来又发给Claude试了2次都没有解决。我也懒得再折腾了。就手动删掉多余的吧!
- 作者:Miro
- 链接:http://begs.cn/article/tech-move-file
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章