精华内容
下载资源
问答
  • 修改文件创建时间

    2012-04-16 19:55:24
    可以修改windows下文件创建时间修改时间、访问时间,内附代码和可执行程序
  • 可以用来修改文件创建时间。可以用来修改文件创建时间,亲测可用。
  • 易语言 修改文件创建时间 易语言 修改文件创建时间 易语言 修改文件创建时间
  • vb6.0 修改 文件创建时间 文件访问时间 文件修改时间; 支持批量修改; 源码工程,已通过测试;
  • windows批量修改文件创建时间神器 批量 ! 批批量!批量 ! 批量 ! 批批量!批量 ! 解压文件密码123456 解压文件密码123456 解压文件密码123456解压文件密码123456 解压文件密码123456 解压文件密码123456 解压文件...
  • CreateFileA,GetFileTime,FileTimeToSystemTime,GetDateFormatA,GetTimeFormatA,CloseHandle,FileTimeToLocalFileTime,SetFileTime,SystemTimeToFileTime,LocalFileTimeToFileTime,GetLocalTime,JW_取文件时间,JW_置...
  • Python批量修改文件创建时间、修改时间、访问时间环境准备运行结果代码分解修改文件时间获取需要修改的文件列表获取文件需要修改的时间修改文件时间程序入口源码 有些时候,可能是因为项目需求,我们需要进行一些...


    有些时候,可能是因为项目需求,我们需要进行一些文件的相关时间修改,但是逐个修改太过于麻烦,批量修改的工具有些优势收费的,奈何囊中羞涩,不得已写个批量修改的工具来做,一劳永逸,岂不美哉!!!其实就是没钱

    环境准备

    1. pypiwin32
    2. python3.7.4
    3. window10
    4. PyCharm
    

    建议安装pypiwin32,一开始本人安装的是pywin32,结果在处理pywintypes.Time的时候一直抛异常,无法进行时间数据的操作,请理智避坑。

    运行结果

    运行实例:
    

    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    我的文件命名格式为 【文件名】-yyyymmdd.doc
    yyyymmdd时间留作修改参考依据,时分秒范围内随机生成,我一般控制在18点以后,这个可以程序里面更具个人需要进行修改。

    代码分解

    核心代码
    这里主要运用win32file相关接口进行文件时间的操作,不要忘记import modules

    from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle
    from win32file  import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTING
    

    修改文件时间

    # 修改文件时间
    def modifyFileTime(filePath, createTime, modifyTime, accessTime):
        try:
            fh = CreateFile(filePath, GENERIC_READ | GENERIC_WRITE, 0, None, OPEN_EXISTING, 0, 0)
            createTimes, accessTimes, modifyTimes = GetFileTime(fh)
            localctime  =  time.localtime(time.mktime(createTime))
            mk = time.mktime(localctime)
            #类型转换
            createTimes = Time(time.mktime(localctime))
            accessTimes = Time(time.mktime(time.localtime(time.mktime(modifyTime))))
            modifyTimes = Time(time.mktime(time.localtime(time.mktime(accessTime))))
            # 修改
            SetFileTime(fh, createTimes, accessTimes, modifyTimes)
            CloseHandle(fh)
            return True
        except Exception as e:
            print(e)
            return False
    

    获取需要修改的文件列表

    	在获取文件列表的过程中,发现目录下居然有临时文件,但是资源管理器中找了半天也没发现文件
    在哪,估计是系统文件缓存的问题,干脆就搞个.tmp文件的忽略吧
    
    # 获取需要修改的文件列表
    def getFiles(file_dir):
        fileList = []
        for root, dirs, files in os.walk(file_dir):
            if len(files) != 0:
                for file in files:
                    if  file.find('.tmp') > 0:
                        print('忽略错误文件: %s'%file)
                    else:
                        fileList.append(str(root) + "\\" + str(file))
        # print(fileList)
        return fileList
    

    获取文件需要修改的时间

    def getFileChangeDate(filePath):
        try:
            createTime = filePath.split('-')[-1].split('.')[0] + '18' + str(random.randint(10, 59)) + str(random.randint(10, 59))
            year = createTime[0:4]
            month = createTime[4:6]
            day = createTime[6:8]
            hour = createTime[8:10]
            min = createTime[10:12]
            sed = createTime[12:14]
            createTime = year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sed
            return createTime
        except Exception as e:
            print(e)
            return 0
    

    修改文件时间

    这里需要注意,format的格式,我使用的是

    #时间格式
    format = "%Y-%m-%d %H:%M:%S"
    

    同时我根据自己的需要将创建时间和修改时间拉开了时间间隔,参见 mtime_t 的赋值

    # 修改文件时间
    def modifyChangeDate(filepath, createTime):
        # create struct_time object
        ctime_t = time.strptime(createTime, format)
        mtime_t = time.strptime((datetime.datetime.strptime(createTime, format) + datetime.timedelta(minutes=random.randint(10, 30)) +datetime.timedelta(seconds=random.randint(0, 60))).strftime(format),format)
        atime_t = mtime_t
        # change timestamp of file way 1
        # os.utime(filepath, (atime_t, mtime_t))
        # change timestamp of file way 2
    	return modifyFileTime(filepath, ctime_t, mtime_t, atime_t)
    

    程序入口

    if  __name__ == '__main__':
        print("/*****************************%s***********************************/"%os.path.basename(__file__).split('.')[0])
        print("/*使用方式如下: ")
        print("/*1、文件命名格式必须为:    文件名称-日期(如:会议纪要-20200101.doc)")
        print("/*2、时间格式必须为:        yyyymmdd")
        print("/*3、默认创建、修改、访问时间都是18:00以后,取随机时间")
        print("/****************************@Author:hou_wenlong************************************/")
        print("请输入文件路径>>>")
        path = input()
        while(len(path) == 0):
            print("请输入需要修改文件的路径>>>")
            path = input()
        currentfile = ''
        successcount = 0
        failurecount = 0
        fileList = getFiles(path)
        if fileList is None:
            print("未获取到需要修改的文件")
        for file in fileList:
                try:
                    currentfile = file
                    ctime = getFileChangeDate(file)
                    if modifyChangeDate(file, ctime) == True:
                        print(file + " 修改完成!")
                        successcount = successcount + 1
                    else:
                        print(file + " 修改失败!")
                        failurecount = failurecount + 1
                except Exception as e:
                    print("%s 发生错误,错误代码:%s" % (currentfile, e))
                    failurecount = failurecount + 1
        print("本次共修改 %d 个文件, 成功: %d  个,失败: %d  个。"%(len(fileList) , int(successcount), int(failurecount)), "全部完成!!!")
        successcount = 0
        failurecount = 0
        print("/**********************按任意键退出工具********************/")
        input()
    

    源码

    源码及程序下载:
    点击此处下载
    如果有用,请给个赞,谢谢

    展开全文
  • 可随意修改文件创建时间、修改时间、访问时间。 源码
  • 批量修改文件创建时间,访问时间文件名及其它属性
  • Linux下修改文件创建时间(修改文件更改时间) 进到要改的文件目录里 find . -name “*” -exec touch ‘{}’ \; 注:最后一定要加分号,{}外一定要加单引号,*表示所有的文件(. 代表当前目录下) 如果...

    Linux下修改文件创建时间(修改文件更改时间)


    进到要改的文件目录里

    find . -name “*” -exec touch ‘{}’ \;

    注:最后一定要加分号,{}外一定要加单引号,*表示所有的文件(. 代表当前目录下)

    如果只修改单个文件

    1.创建文件 touch tm //名字随便起

    2.touch -r tm liunx-2.6.30.4(要改的文件名)//就是把Linux-2.6.30.4文件的时间改为tm文件的时间

    如下是搜的

    使用权限:所有使用者
    使用方式:
    touch [-acfm]
    [-r reference-file] [--file=reference-file]
    [-t MMDDhhmm[[CC]YY][.ss]]
    [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
    [--no-create] [--help] [--version]
    file1 [file2 ...]
    说明:
    touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
    参数:
    a 改变档案的读取时间记录。
    m 改变档案的修改时间记录。
    c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
    f 不使用,是为了与其他 unix 系统的相容性而保留。
    r 使用参考档的时间记录,与 --file 的效果一样。
    d 设定时间与日期,可以使用各种不同的格式。
    t 设定档案的时间记录,格式与 date 指令相同。
    --no-create 不会建立新档案。
    --help 列出指令格式。
    --version 列出版本讯息。

    范例:
    最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
    touch file
    touch file1 file2

    将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。
    时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。
    touch -c -t 05061803 file
    touch -c -t 050618032000 file

    将 file 的时间记录改变成与 referencefile 一样。
    touch -r referencefile file将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。
    时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000。
    ====================================================================================
    touch -d 和 date -s 的用法相同。如果没有指定日期,默认为系统日期
    touch -d 18:03 file
    touch -d "18:03" file
    touch -d "6:03pm" file

    如果没有指定时间,默认为 00:00:00
    touch -d 20000506 file
    touch -d "05/06/2000" file
    touch -d "20000506" filetouch -d "6:03pm 05/06/2000" file
    touch -d "20000506 18:03" file
    touch -d "20000506 18:03:00" file


    --本篇文章转自:http://blog.sina.com.cn/s/blog_5f2ca1ed01015dby.html


    展开全文
  • 文件属性修改器(修改文件创建时间、最后访问时间和最后修改时间),第一次尝试用C#做小程序
  • 使用QT+windowsapi修改文件创建时间修改时间以及最后访问时间 windows系统提供了一些关于文件时间的api,这里我们主要利用了两个api。 GetFileTime(); SetFileTime(); 链接: GetFileTime. 链接: SetFileTime. i=...

    使用QT+windowsapi修改文件创建时间修改时间以及最后访问时间

    windows系统提供了一些关于文件时间的api,这里我们主要利用了两个api。

    GetFileTime();
    SetFileTime();
    链接: GetFileTime.
    链接: SetFileTime.

    i=SetFileTime(hFile,&ftUTC,(LPFILETIME) NULL, (LPFILETIME) NULL);//创建时间
    i=SetFileTime(hFile,(LPFILETIME) NULL, (LPFILETIME) NULL,&ftUTC1);//修改时间
    i=SetFileTime(hFile,(LPFILETIME) NULL,&ftUTC2, (LPFILETIME) NULL);//访问时间
    
    FILETIME lpCreationTime; // 文件夹的创建时间
    FILETIME lpLastAccessTime; // 对文件夹的最近访问时间
    FILETIME lpLastWriteTime; // 文件夹的最近修改时间
    int i =GetFileTime (hFile, &lpCreationTime, &lpLastAccessTime, &lpLastWriteTime); // 获取文件夹时间属性信息
    

    关于具体的使用方法我也是看了很多人的博客,但是其中也遇到了一些坑。这里说一些解决办法。

    去读取文件的时候发现中文路径时修改时间和获取时间会出问题。开始以为时QString与char*之间转换的问题。后来发现并不是这里的问题。
    问题出在这里:
    CreateFileA();
    改成使用宽字节打开文件后问题解决。
    CreateFileW();

    HANDLE hFile;
    QString url;
    hFile =CreateFileW(url.toStdWString().data(),GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE , NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);
    

    关于在设定时间范围内随机时间,我这里将设定的时间转化成时间戳,然后取范围内的随机数,但是发现随机数的范围和频率满足不了使用。
    后改用了这样的方式

    //t=rand()%(etime-stime)*1000;
    t = (double)rand() / (RAND_MAX + 1) *(etime - stime);
    
    展开全文
  • 修改 Windows 文件创建时间源码。 推荐使用 VisualStudio 2017 及以上版本可直接打开运行。 或则通过这篇博客了解实现过程:https://asdfg.blog.csdn.net/article/details/106792559
  • windows下修改文件创建时间

    万次阅读 2012-04-25 22:09:45
    使用windows控制台的copy命令达到修改文件创建时间的目的,方法如下: 1. 修改系统时间为你需要的修改到的目标时间; 2. 运行命令:copy 文件名+,,(注意是连续两个英文逗号). done.

    使用windows控制台的copy命令达到修改文件创建时间的目的,方法如下:

    1. 修改系统时间为你需要的修改到的目标时间;
    2. 运行命令:copy 文件名+,,(注意是连续两个英文逗号).
    done.
    展开全文
  • 无需工具修改文件创建时间

    万次阅读 2010-01-20 09:31:00
    无需工具修改文件创建时间手头没有工具时,可以使用windows的copy命令达到修改文件创建时间的目的,操作步骤:1. 修改系统时间为需要的时间2. 运行命令:copy 文件名+,,OK 
  • 拖动文件到listview中,点击修改,可修改文件创建时间,并可拖拽listview中的项目,可排序,并会在标头上绘画三角 bcb2010代码
  • 本程序可以用于更改文件创建时间,略加修改,还可以用于更改文件修改时间和最后访问时间,可以对输入日期进行合法性检查。本程序在vc6.0 winxp下通过控制台程序编译,可以正常使用。
  • 不要拿来做坏事! 修改 文件时间!以达到您的目的
  • setime 简介: 修改文件创建时间的一个命令行小工具。
  • Solaris下如何修改文件创建时间及查询 实验演示: 1、核对时间 [root@S1011:/]# date Tue Jul 15 21:37:01 CDT 2014 --若时间不正确请先按如下格式修改 [root@S1011:/]# date 0715221114 --2014年7月15日22:11 ...
  • 收到一个需求,希望修改指定文件创建时间,并且文件数上千。所以希望通过程序来解决。用户的真实意图暂且不论,首先分析这个事情是否可行,立马搜索几篇文章一扫,得可行结论。既然可行那接下来就朝着实现的方向去...
  • 电脑里面的相片,因为复制来,复制去的.时间不太对.然后传到iphone就乱了.那边是以创建时间什么的来排序.然后折腾了一个脚本改创建时间.网上搜索了一下....考虑有的jpg可能没有拍摄时间,就以创建时间修改时间...
  • 进到要改的文件目录里 find . -name “*” -exec touch ‘{}’ \; 注:最后一定要加分号,{}外一定要加单...2.touch -r tm liunx-2.6.30.4(要改的文件名)//就是把Linux-2.6.30.4文件时间改为tm文件时间 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,901
精华内容 3,160
关键字:

修改文件创建时间