怎么修改文件的修改日期时间
修改文件的修改日期时间有多种方法,取决于您使用的操作系统。以下是不同平台下的操作方式:
Windows系统
1. 使用命令行工具
cmd
# 修改文件的修改时间 copy /b filename.txt +,, # 使用PowerShell设置具体时间 powershell "(Get-Item 'filename.txt').LastWriteTime = '2023-12-01 14:30:00'"2. 批处理脚本示例
batch
@echo off # 复制文件以更新时间戳 copy /b filename.txt +,, # 或者使用touch命令(如果可用) touch filename.txtLinux/macOS系统
1. 使用touch命令
bash
# 更新文件的访问时间和修改时间为当前时间 touch filename.txt # 设置特定的修改时间 touch -m -t 202312011430 filename.txt # 格式: YYYYMMDDHHMM # 同时设置访问时间和修改时间 touch -a -m -t 202312011430 filename.txt # 使用-d选项指定日期时间(Linux) touch -m -d "2023-12-01 14:30:00" filename.txt # 使用-d选项指定相对时间 touch -m -d "+1 day" filename.txt touch -m -d "-1 week" filename.txt2. 使用Python脚本
python
import os import time from datetime import datetime # 设置特定时间戳 timestamp = time.mktime(datetime(2023, 12, 1, 14, 30).timetuple()) os.utime('filename.txt', (timestamp, timestamp)) # 或者设置为当前时间 os.utime('filename.txt', None)3. 使用Perl脚本
perl
#!/usr/bin/perl use Time::Local; # 设置特定时间 my $timestamp = timelocal(0, 30, 14, 1, 11, 2023); # 秒, 分, 时, 日, 月-1, 年 utime $timestamp, $timestamp, 'filename.txt';编程语言中的实现方式
1. Python
python
import os import time from datetime import datetime def change_file_timestamp(filepath, new_datetime): """ 修改文件的时间戳 :param filepath: 文件路径 :param new_datetime: 新的日期时间 (datetime对象) """ # 转换为时间戳 timestamp = time.mktime(new_datetime.timetuple()) # 修改文件的访问时间和修改时间 os.utime(filepath, (timestamp, timestamp)) # 使用示例 new_time = datetime(2023, 12, 1, 14, 30, 0) change_file_timestamp('example.txt', new_time)2. Java
java
import java.io.File; import java.util.Date; public class ChangeFileTime { public static void main(String[] args) { File file = new File("example.txt"); // 设置新的修改时间 long newTime = System.currentTimeMillis(); file.setLastModified(newTime); System.out.println("文件时间已修改"); } }3. C#
csharp
using System; using System.IO; class Program { static void Main() { string filePath = "example.txt"; // 设置新的修改时间 FileInfo fileInfo = new FileInfo(filePath); fileInfo.LastWriteTime = new DateTime(2023, 12, 1, 14, 30, 0); Console.WriteLine("文件时间已修改"); } }4. Node.js
javascript
const fs = require('fs'); // 修改文件时间戳 fs.utimes('example.txt', new Date(), new Date('2023-12-01T14:30:00'), (err) => { if (err) throw err; console.log('文件时间已修改'); }); // 同步版本 fs.utimesSync('example.txt', new Date(), new Date('2023-12-01T14:30:00'));批量修改多个文件
Bash脚本示例
bash
#!/bin/bash # 修改目录下所有.txt文件的时间 for file in *.txt; do if [ -f "$file" ]; then touch -m -t 202312011430 "$file" echo "已修改: $file" fi donePowerShell批量修改
powershell
# 修改目录下所有文件的修改时间 Get-ChildItem "*.txt" | ForEach-Object { $_.LastWriteTime = "2023-12-01 14:30:00" Write-Host "已修改: $($_.Name)" }注意事项
- 权限要求:修改文件时间戳通常需要对文件具有写权限
- 格式要求:不同系统的命令格式可能略有差异
- 精度差异:某些系统支持纳秒级时间戳,而有些只支持秒级
- 备份建议:重要文件操作前建议先备份

更新时间:2025-12-13 17:00:44
下一篇:压缩包文件显示的时间怎么改
