如何批量重命名带有序列号的照片文件夹中的文件

Posted

技术标签:

【中文标题】如何批量重命名带有序列号的照片文件夹中的文件【英文标题】:How can I bulk rename files in a photo folder with sequential numbers 【发布时间】:2015-06-26 20:18:13 【问题描述】:

这是一个措辞不当的问题

我的主要目标是显示许多图像,甚至是任意一组图像,将文件重命名为序列号似乎会使文件的显示或迭代更容易,如果它们仅相差 1 而不是随机字符串。

--反正我要去读...似乎 glob 是根据 php 手册... glob() 函数根据 libc glob( ) 函数

这些文件的名称是随机的,但它们都是 .jpg 的

例如,将“this name”.jpg 替换为“i+1”.jpg

这样我就可以使用增加数字的 for 循环来懒惰地显示照片。主要目的是不管文件名如何都显示照片。

【问题讨论】:

你有没有尝试过这样做? 不,我以前从未尝试过这个,我已经简要研究过,目前这不是一个重要的优先事项。我见过一些方法,但一个例子涉及“SKU”,例如。取出一个特定的字符串。 @janicehoplin 也许你读到这里会很有趣:meta.***.com/q/261592/3933332 为什么要递增数字,为什么不直接获取目录中的文件并循环遍历它们,这样如果文件被删除,您将不会找到找不到文件。 processing 标签只能用于处理语言相关的问题。 【参考方案1】:

你可以使用phpglob和rename函数:

$num = 1;
foreach (glob("/path/to/images/*.jpg") as $filename) 
    $fileNoExtension = basename($filename, ".jpg");
    rename ($filename, "$fileNoExtension$num.jpg");
    $num++;

【讨论】:

让我们continue this discussion in chat. 我真的不知道该做什么,我一直在尝试开展业务,但它们在财务上超出了我的能力范围,它们可能很愚蠢或有一些固有的缺陷。我想我追求的是理智或通过经济上的成功或幸福来证明自己。 嗯,我猜一个“版主”删除了我的 cmets,如果他们告诉你并且不只是隐藏在他们的“权力”之下,这只是这些“加 1”的数据,也许他们没有消失。时间会证明一切。【参考方案2】:

基本上,

$count = 1;
foreach (glob('*.jpg') as $filename) 
  @rename($filename, $count.'.jpg');
  $count++;


echo 'Done';

所有图像文件都必须在当前文件夹中(连同脚本)。

如果您愿意,可以手动添加路径:

 glob('/path/to/*.jpg')
 rename('path/..'.$file etc. )

【讨论】:

感谢 Alex M,我将不得不实现它并看看它是如何进行的,我的大脑现在已经被摧毁了,在特别处理动态内容之前,我没有尝试批量“任何东西”,例如。不遵循模式 @alex 在@rename 上从$file 更改为$filename

以上是关于如何批量重命名带有序列号的照片文件夹中的文件的主要内容,如果未能解决你的问题,请参考以下文章

[经典] 使用Python批量重命名iPhone拍摄的照片-按照拍摄时间重命名

怎么批量重命名多个文件夹里的图片

如何给文件批量重命名?

文件批量重命名 如1-2 3-4 5-6

文件夹批量改名?

用Java批量重命名文件