You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统中是否有touch命令的等效替代方案?

Windows系统中是否有touch命令的等效替代方案?

嘿,这个问题我太熟了!在Windows里确实没有原生的touch命令,但有好几种简单的替代方法,完全能实现Linux里touch的核心功能——要么创建空文件,要么更新文件的修改/访问时间戳,我给你一一列出来:

一、用CMD命令实现

  • 创建空文件:直接用type nul > 文件名,比如type nul > test.txt。如果目标文件已经存在,这个命令会把文件内容清空,所以要是只想更新时间戳别用这个哦!
  • 仅更新文件时间戳(不修改内容):用copy /b 文件名 +,,,比如copy /b test.txt +,,。这里的/b表示二进制模式,+,,是一种特殊写法,意思是给文件追加空内容,最终效果就是更新了文件的修改和访问时间,文件本身内容一点不变。

二、用PowerShell实现

PowerShell的方法更灵活,能精准控制:

  • 创建空文件:输入New-Item -Path 文件名 -ItemType File,比如New-Item -Path test.txt -ItemType File。如果文件已经存在,会提示你是否覆盖,加上-Force参数的话,就会直接更新文件的时间戳而不覆盖内容。
  • 单独更新修改时间:如果只想改文件的最后修改时间,用(Get-Item 文件名).LastWriteTime = Get-Date,比如(Get-Item test.txt).LastWriteTime = Get-Date,这样就能把文件的修改时间设为当前时间啦。

三、自定义touch脚本(和Linux行为完全一致)

要是你经常需要用类似Linuxtouch的功能,不如自己写个批处理脚本:

  1. 新建一个文本文件,把下面的代码复制进去:
@echo off
if "%~1"=="" (
    echo Usage: touch filename
    exit /b 1
)
if exist "%~1" (
    copy /b "%~1" +,, > nul
) else (
    type nul > "%~1"
)
  1. 把文件保存为touch.bat,然后把它放到系统环境变量Path包含的文件夹里(比如C:\Windows)。
  2. 之后不管在CMD还是PowerShell里,直接敲touch 文件名就行——文件不存在就创建,存在就更新时间戳,和Linux里的touch一模一样!

备注:内容来源于stack exchange,提问作者Isaac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:49:39