吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 225|回复: 12
收起左侧

[经验求助] 求一个能够批量改文件时间的办法

[复制链接]
isar 发表于 2025-3-20 16:17
25吾爱币
之所以有这种需求是因为我一般喜欢把想看的pdf拆成一页页的图片传到一刻相册这个软件里,需要的时候可以直接去翻想看的某一页。
但是这个软件有个很坑的点,它是按照时间顺序排序的,没有其他排序方式,这就导致我的图片传上去之后顺序是乱的。
所以想要求一个能够批量修改文件时间的办法,谢谢大家

最佳答案

查看完整内容

修改第一个路径, 然后全部复制到power shell里, 别的都不需要改, 啥都不需要安装。 前提你这个目录下只有jpg格式的文件, 文件名都是1.jpg 2.jpg…… 如果要改文件名, 比如改成bmp, 那就吧第六行的jpg改成bmp [mw_shl_code=powershell,false] param ( [string]$directory = "C:\路径\路径\路径\路径" # 在此处修改目标目录 ) # 获取所有数字命名的jpg文件并按数字排序 $files = Get-ChildItem -Path $dire ...

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sanguoliangjies 发表于 2025-3-20 16:17
本帖最后由 sanguoliangjies 于 2025-3-21 11:04 编辑
isar 发表于 2025-3-20 21:13
您好,这个能否批量时间修改的错开一点,比如第一张图是40分41秒,第二张图是40分42秒,第三张图是40分43 ...

修改第一个路径, 然后全部复制到power shell里, 别的都不需要改, 啥都不需要安装。
前提你这个目录下只有jpg格式的文件, 文件名都是1.jpg 2.jpg……
如果要改文件名, 比如改成bmp, 那就吧第六行的jpg改成bmp

[PowerShell] 纯文本查看 复制代码
param (
    [string]$directory = "C:\路径\路径\路径\路径"  # 在此处修改目标目录
)
 
# 获取所有数字命名的jpg文件并按数字排序
$files = Get-ChildItem -Path $directory -Filter *.jpg |
         Where-Object { $_.BaseName -match '^\d+$' } |
         Sort-Object { [int]$_.BaseName }
 
# 计算起始时间(昨天0点)
$startTime = (Get-Date).AddDays(-1).Date
$currentTime = $startTime
 
foreach ($file in $files) {
    try {
        $file.CreationTime = $currentTime
        $file.LastWriteTime = $currentTime
        Write-Host "已更新文件 $($file.Name) 的最后修改时间为 $currentTime"
    } catch {
        Write-Host "无法更新文件 $($file.Name) 的时间:$_"
    }
    $currentTime = $currentTime.AddSeconds(3)
}
 
Write-Host "所有文件时间修改完成!"
pxhzai 发表于 2025-3-20 16:24
sanguoliangjies 发表于 2025-3-20 17:13
打开windows自带的 PowerShell
(必须是蓝色底色的PowerShell, 不能是黑色底色的cmd)
然后输入命令
注意, 下面的括号也是需要的


# 修改创建时间
(Get-Item "C:\路径\test.bmp").CreationTime = "2024-02-18T12:34:56"
# 修改最后修改时间
(Get-Item "C:\路径\test.bmp").LastWriteTime = "2024-02-18T12:34:56"
柒點 发表于 2025-3-20 19:59
文件指纹MD5批量修改工具-规避各大平台去重筛查(MD5修改)
https://www.52pojie.cn/thread-963624-1-1.html
(出处: 吾爱破解论坛)

这款很好用,我一直在用,支持批量操作,可拖拽,按你想要的顺序排列好,拖进去就是按时间顺序排好的。
 楼主| isar 发表于 2025-3-20 21:05
pxhzai 发表于 2025-3-20 16:24
批量修改文件/文件夹时间戳工具 NewFileTime 7.44
https://www.52pojie.cn/thread-2011415-1-1.html
(出 ...

你好,这个软件好像有个问题,就是我拖进去的文件顺序是按1、10、11、12……2、21、22、23这个顺序排的,不是按12345这样
 楼主| isar 发表于 2025-3-20 21:09
本帖最后由 isar 于 2025-3-20 21:10 编辑
柒點 发表于 2025-3-20 19:59
文件指纹MD5批量修改工具-规避各大平台去重筛查(MD5修改)
https://www.52pojie.cn/thread-963624-1-1.ht ...

您好,我用了这个软件,但是图片的所有修改时间都变成了2025‎年‎3‎月‎20‎日,‏‎20点48分44秒,所以传上去之后的图还是乱序,我希望的是这样:例如1.jpg(时间是‏‎‏‎20点48分44秒)、2.jpg(时间是‏‎20点48分45秒)、3.jpg(时间是‏‎‏‎20点48分46秒),就是稍微能错开一点的,要不然传上去不分时间先后了

点评

时间要错开的话,这个软件不行  详情 回复 发表于 2025-3-21 09:19
 楼主| isar 发表于 2025-3-20 21:13
sanguoliangjies 发表于 2025-3-20 17:13
打开windows自带的 PowerShell
(必须是蓝色底色的PowerShell, 不能是黑色底色的cmd)
然后输入命令

您好,这个能否批量时间修改的错开一点,比如第一张图是40分41秒,第二张图是40分42秒,第三张图是40分43秒
futom 发表于 2025-3-20 21:32
本帖最后由 futom 于 2025-3-20 21:34 编辑

import os
import time

# 定义文件名生成器,从1.jpg到100.jpg
def generate_filenames(start, end, extension=".jpg"):
    for i in range(start, end + 1):
        yield f"{i}{extension}"

# 主函数:修改文件的时间戳
def modify_file_timestamps(base_path, start_time, interval_seconds):
    # 获取文件名列表并按名称排序
    filenames = sorted(generate_filenames(1, 100))
   
    # 遍历每个文件
    for filename in filenames:
        file_path = os.path.join(base_path, filename)
        
        # 检查文件是否存在
        if os.path.exists(file_path):
            # 设置文件的访问时间和修改时间为当前时间戳
            os.utime(file_path, (start_time, start_time))
            print(f"Updated timestamp for {filename} to {time.ctime(start_time)}")
            
            # 更新时间戳为下一个文件的时间
            start_time += interval_seconds
        else:
            print(f"File {filename} does not exist, skipping...")

# 程序入口
if __name__ == "__main__":
    # 基础路径(存放图片的目录)
    base_path = r"D:\images"  # 替换为你的图片文件夹路径
   
    # 初始时间戳(可以是当前时间,也可以是某个固定时间)
    initial_timestamp = int(time.time())  # 使用当前时间作为起始时间
   
    # 时间间隔(3秒)
    time_interval = 3
   
    # 调用函数修改文件时间戳
    modify_file_timestamps(base_path, initial_timestamp, time_interval)

上面是用python写的一个程序,能够按照文件名称的顺序修改文件的时间,运行以后每个文件的时间比前一个文件大3秒,例如程序执行以后,2.jpg的时间比1.jpg大3秒,3.jpg的时间比2.jpg大3秒,以此类推。
程序默认修改1.jpg到100.jpg,可以根据实际的文件数量修改100这个数字。
运行之前把所有jpg文件和保存上面代码的py文件保存在 D:\images ,可以根据实际情况修改代码中的名称。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
isar + 1 + 1 谢谢您!真的很有用,但是楼上这位给的方法更简单就采纳他的了,只能给您点 ...

查看全部评分

 楼主| isar 发表于 2025-3-20 21:39
futom 发表于 2025-3-20 21:32
import os
import time

请问是不是装一个Python我就能用了?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-2 04:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表