这是一个创建于 933 天前的主题,其中的信息可能已经有所发展或是发生改变。
大概有 3K 的文件夹,文件夹名称不一样,但每个文件夹下面各有一个 1.mkv 的文件
结构大概如下:
文件夹
- A
- 1.mkv
- B
- 1.mkv
- C
- 1.mkv
现在想让每个文件夹下面的 1.mkv 重命名为文件夹的名称,即文件夹 A 下面的 1.mkv 重命名为 A.mkv ,同时批量操作 3K 个任务,想知道怎么实现会方便一点
第 1 条附言 · 2021-10-20 18:52:53 +08:00
用 XYexploer 解决了,在所有文件夹界面运行如下脚本
setting "BackgroundFileOps", 0;
$list = "";
foreach($file, folderreport("files", "r", , "r", , "<crlf>"), "<crlf>") {
$newName = replace(gettoken($file, -2, "\"), ":") . "." . getpathcomponent($file, "ext");
$newName = renameitem($newName, $file, , "-01");
if ($newName) { $list = $list . "Src: $file<tab 2>Dst: $newName<crlf>"; }
}
text $list;
4 条回复 • 2021-10-21 01:50:12 +08:00
|
|
1
eason1874 2021-10-20 18:17:55 +08:00
用啥都方便,shell 、批处理、甚至是 PHP 都行,PHP 用迭代器遍历文件也是很快的
|
|
|
2
NillSpake 2021-10-20 18:19:09 +08:00
python rename 直接撸
|
|
|
3
sutra 2021-10-20 18:19:55 +08:00 2
find . -name '1.mkv' | awk -F '/' '{system("mv "$2"/"$3" "$2"/"$2".mkv")}'
|
|
|
4
luckyx 2021-10-21 01:50:12 +08:00
for folder in `ls` do cd $folder cp 1.mkv A.mkv rm 1.kmv cd .. done
|