在 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 中一致了,强迫症福音

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/770298.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)

1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录。 2.业务模块封装 因为现在各种APP的层出不群,各式各样的。但是其大多数都有注册、登录。为…

【话题】IT专业入门,高考假期预习指南

IT专业入门,高考假期预习指南 亲爱的高考学子们, 七月的阳光,如同你们的梦想,炽热而明亮。当你们手中的笔落下最后一道题的答案,那不仅仅是对过去十二年寒窗苦读的告别,更是对未知世界探索的启程号角。你们…

surfer做等值线图笔记

surfer等值线图及其白化 **grd文件的制作****白化的边界文件的制作****白化****绘图****逆转坐标轴** grd文件的制作 单击格网,选择x,y,z的数据,选择克里金插值方法,让后确定,保存grd文件 白化的边界文件的制作 surfer新建表&am…

拒绝胶感,清纯甜美邻家女孩!逼真!逼真!SD1.5 更适合初恋般的国产真人大模型—— CNrealisticMIXV40

看惯了AI艺术大片,想寻找适合生成邻家女孩青涩照片的模型。 今天应邀,针对邻家女孩青涩风格进行下尝试。此前推荐过一款支持各种真实,摄影,写实风格模型的合体模型——**赛博Dream | CNrealistic_MIX_V40无损修剪版。**这款模型为…

notepad++ 中文乱码 出现小方格

从word文档直接拷贝过来的文字,到notepad 中文乱码 出现小方格 : 方法:设置-语言格式设置,字体样式更改为宋体,勾选“使用全局字体”,点保存并关闭,则ok

【Python机器学习】算法链与管道——用预处理进行参数选择的注意项

对于许多机器学习算法,提供的特定数据表示非常重要。比如,首先对数据进行缩放,然后手动合并特征,再利用无监督机器学习来学习特征。因此,大多数机器学习应用不仅需要应用多个算法,而且还需要将许多不同的处…

使用 llamaIndex 快速实现智能体

AI 智能体就是可以根据当前环境进行推理,并根据处理结果进行下一步的操作。简单来说 AI 智能体可以与外界环境进行交互,并根据结果执行更复杂的操作。本文将通过llamaIndex 实现一个简单的 Agent 实时获取数据,由于大模型是通过静态数据进行训…

【C++】 解决 C++ 语言报错:未定义行为(Undefined Behavior)

文章目录 引言 未定义行为(Undefined Behavior, UB)是 C 编程中非常危险且难以调试的错误之一。未定义行为发生时,程序可能表现出不可预测的行为,导致程序崩溃、安全漏洞甚至硬件损坏。本文将深入探讨未定义行为的成因、检测方法…

ERROR TypeError: AutoImport is not a function TypeError: AutoImport is not a

出现这种错误是AutoImport is not a function(插件版本问题,回退插件版本)-vue项目element plus按需引入配置错误 查看unplugin-auto 插件版本 npm list unplugin-auto-import 回退插件版本 npm install unplugin-auto-import0.16.1 ERRO…

字符串相似度算法完全指南:编辑、令牌与序列三类算法的全面解析与深入分析

在自然语言处理领域,人们经常需要比较字符串,这些字符串可能是单词、句子、段落甚至是整个文档。如何快速判断两个单词或句子是否相似,或者相似度是好还是差。这类似于我们使用手机打错一个词,但手机会建议正确的词来修正它&#…

无法定位程序输入点…于动态链接库…的解决方法

如下图所示: 出现上述问题,主要是因为使用的动态库问题,具体就是电脑里有几个不同版本的osgEarth的动态库。如下图所示,本人电脑里编译了好几个版本的osgEarth库,并且把其中的两个加入到了环境变量中,导致出现上述错误: 程序使用的是绿框所示的D:\OSGCore\OSGEarth\bin …

哈喽GPT-4o,对GPT-4o 论文速写的思考与探索

作为一款强大的语言模型,ChatGPT 在论文写作上具备显著优势。它能够辅助学者或研究人员自动创建论文框架、摘要、文献综述及论文段落(如引言、方法、结果、结论等)。此外,ChatGPT 还能优化论文结构、润色、降低内容重复率&#xf…

redis-cluster(集群模式搭建)

redis中间件版本: redis-5.0.5环境介绍 这里使用服务器数量3,分别为172.0.0.1,172.0.0.2,172.0.0.3,每台机器redis节点数量2个,共6个redis节点构成redis-cluster模式。编译安装包 在172.0.0.1的机器上进入安装目录 cd …

AI大模型从入门到精通:一站式学习教程

前言 在聊到AI的时候,我们都离不开“大模型”这三个字。 AI大模型已经完全融入了各个领域,也融入了我们的生活,它好像无所不在、无所不能。 百度李彦宏说 :大模型改变世界; 360周鸿祎说:大模型是新时代“…

Frida案例-hook app中指定类的方法

界面如下 代码如下 点击‘点赞’按钮时,会触发getThumbsCount()函数 当前期望能通过frida获取getThumbsCount()的值 首先查看手机上正在运行的进程 frida-ps -U 进程不一定会以包名显示,还可能会以app的名…

基于主流SpringBoot进行JavaWeb开发的学习路线

目录 一、学习路线 (1)第一部分(Web前端开发的技术栈) (2)第二部分(Web后端开发) 二、学习之后必备的技能 三、学习Web开发的基础与未来的收获 学完这一类知识目标:…

vxe-table的序号一样

使用vxe-table的时候,有的时候会出现序号相同的现象,这种现象一般出现在我们后面自己添加的行中,就像这种 此时的这三个序号是相同的,我来说一下原因,这是在添加新的一行的时候,有的时候数据很多&#xff0…

理解MySQL核心技术:外键(Foreign Key)的设计与实现

在日常开发中,数据库是必不可少的部分,而MySQL作为最流行的关系型数据库之一,广泛应用于各类项目中。为了确保数据的完整性和一致性,外键(Foreign Key)无疑是一个重要的概念。在本篇文章中,我们…

认识100种电路之降压电路

在电子电路的世界里,降压电路扮演着至关重要的角色。 【为什么电路需要降压电路】 首先,我们要明白,不同的电子设备和元件往往需要特定的电压来正常工作。比如,某些芯片可能需要 5V 的电压,而我们提供的电源可能是 12…

zabbix报警机制,主动监控

zabbix思路流程 主动监控 默认zabbix使用的是被动监控,主被动监控都是针对被监控主机而言的。被动监控:Server向Agent发起请求,索取监控数据。此种模式常用主动监控:Agent向Server发起连接,向Server汇报 配置web2使用…