在 Windows PowerShell 中模拟 Unix/Linux 的 touch 命令

在 Unix 或 Linux 系统中,touch 命令被广泛用于创建新文件或更新现有文件的时间戳。不过,在 Windows 系统中,尤其是在 PowerShell 环境下,并没有内置的 touch 命令。这篇博客将指导你如何在 Windows PowerShell 中模拟 touch 命令的功能,以便你可以使用类似的功能创建新文件或修改文件的时间戳。

创建 PowerShell 函数以模拟 touch

为了在 PowerShell 中模拟 touch 命令,我们可以创建一个自定义函数,命名为 Touch-File。这个函数将检查指定的文件是否存在;如果存在,更新其最后修改时间,如果不存在,则创建一个新的空文件。

函数代码

下面是 Touch-File 函数的代码:

function Touch-File {
    param([string]$filename)
    if (Test-Path $filename) {
        (Get-Item $filename).LastWriteTime = Get-Date
    } else {
        New-Item $filename -ItemType "file"
    }
}

功能说明

  • 参数$filename 参数指定了要创建或修改的文件名。
  • 条件检查:使用 Test-Path 命令检查文件是否已存在。
  • 修改时间戳:如果文件存在,Get-Item 命令用于获取文件对象,并更新其 LastWriteTime 属性到当前日期和时间。
  • 创建文件:如果文件不存在,New-Item 命令用于创建一个新的空文件。

将函数添加到 PowerShell 配置文件

为了确保每次打开 PowerShell 时都能使用 Touch-File 函数,最好将其添加到你的 PowerShell 配置文件中。这可以通过以下步骤完成:

打开或创建 PowerShell 配置文件

  1. 打开 PowerShell。

  2. 执行以下命令来编辑或创建你的配置文件:

    notepad $PROFILE

添加函数到配置文件

在打开的配置文件中,粘贴上面的 Touch-File 函数代码。保存并关闭编辑器。

重新启动 PowerShell

关闭并重新打开 PowerShell 以加载配置文件中的更改。现在,你可以在任何位置使用 Touch-File 命令来模拟 touch 功能。

使用示例

在 PowerShell 中使用 Touch-File 函数的示例:

notepad $PROFILE

这将创建一个名为 newfile.txt 的新文件,或者如果该文件已存在,则更新其最后修改时间。

总结

通过创建一个简单的 PowerShell 函数,我们可以在 Windows 环境中方便地模拟 Unix/Linux 中的 touch 命令。这不仅增强了 PowerShell 的功能,也提供了一个快捷的方式来管理文件的创建和时间戳更新。

附:将Touch-File改为touch 使用习惯就基本和在 Unix/Linux 中一致了,强迫症福音

相关推荐

  1. Windows PowerShell 模拟 Unix/Linux touch 命令

    2024-07-09 20:22:05       28 阅读
  2. 命令模式量化交易系统开发应用

    2024-07-09 20:22:05       47 阅读
  3. 探索 PyTorch torch.nn 模块**(1)

    2024-07-09 20:22:05       51 阅读
  4. PyTorch基础模块torch详细介绍

    2024-07-09 20:22:05       42 阅读
  5. C++命令模式

    2024-07-09 20:22:05       24 阅读
  6. 命令模式金融业务应用及其框架实现

    2024-07-09 20:22:05       32 阅读
  7. torchnonzero() 方法

    2024-07-09 20:22:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 20:22:05       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 20:22:05       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 20:22:05       90 阅读
  4. Python语言-面向对象

    2024-07-09 20:22:05       98 阅读

热门阅读

  1. LVS+keepalived群集

    2024-07-09 20:22:05       32 阅读
  2. qt udp通讯应用举例

    2024-07-09 20:22:05       33 阅读
  3. Vuetify3:v-data-table增加下拉筛选

    2024-07-09 20:22:05       19 阅读
  4. 通过升级tomcat完美解决服务器的tomcat漏洞

    2024-07-09 20:22:05       29 阅读
  5. unity 使用UnityWebRequest从服务器下载

    2024-07-09 20:22:05       24 阅读
  6. el-table 树状表格查询符合条件的数据

    2024-07-09 20:22:05       27 阅读
  7. for in和for of对比

    2024-07-09 20:22:05       26 阅读
  8. OpenHarmony4.x 系统模拟器环境

    2024-07-09 20:22:05       22 阅读
  9. PDF转Markdown的开源工具解析

    2024-07-09 20:22:05       31 阅读
  10. 力扣1878.矩阵中最大的三个菱形和

    2024-07-09 20:22:05       38 阅读
  11. 持续学习的艺术:SKlearn中模型的在线学习实践

    2024-07-09 20:22:05       37 阅读
  12. 代码随想录刷题day02-矩阵

    2024-07-09 20:22:05       33 阅读
  13. ListView

    ListView

    2024-07-09 20:22:05      39 阅读