在windows机器上,我得到这个错误

“touch”不能被识别为内部或外部命令、可操作程序或批处理文件。

我遵循这些指令,似乎是linux特定的,但在标准的windows命令行上,它不是这样工作的:

touch index.html app.js style.css

windows中是否有类似于linux / mac os / unix世界中的'touch'命令?为了实现这类命令,我是否需要手工创建这些文件(并修改它们以更改时间戳)?我正在使用节点,这似乎不是很…node-ish……


当前回答

正如Raghuveer在他/她的回答中指出的那样,ni是PowerShell中New-Item的别名,所以你可以在PowerShell提示符中用ni来代替touch来创建文件。

如果你喜欢输入touch而不是ni,你可以在PowerShell New-Item cmdlet中设置一个touch别名。

在Windows PowerShell中创建一个触摸命令:

在PowerShell提示符中定义新的别名。

Set-Alias -Name touch -Value New-Item

现在,触摸命令的工作原理与您所期望的几乎相同。唯一的区别是您需要用逗号分隔文件列表。

touch index.html, app.js, style.css

注意,这只是为PowerShell设置别名。如果你不喜欢PowerShell,你可以在Windows上设置WSL或使用bash。

不幸的是,当您结束PowerShell会话时,别名将被忘记。要使别名永久存在,必须将其添加到PowerShell用户配置文件中。

PowerShell提示符:

notepad $profile

将别名定义添加到概要文件并保存。

其他回答

简单,txt文件的例子

echo $null >> filename.txt

在命令行中使用以下命令:

fsutil file createnew filename  requiredSize

参数信息如下:

fsutil -文件系统实用程序(您正在运行的可执行文件)

文件-触发文件操作

Createnew -执行的操作(创建一个新文件)

文件名-将是文件的字面名称

requiredSize -在创建的文件中分配一个文件大小,单位为字节

您可以使用ECHO >> filename.txt命令

它将在当前文件夹中创建一个具有给定扩展名的文件。

更新:

对于空文件使用:复制NUL filename.txt

如果你有WSL和适当的发行版,比如Ubuntu,你可以在CMD中有触摸命令,而不仅仅是bash终端。它适用于我的Windows 10和11 Windows终端

如果你正在使用VS Code,有一个命令行工具代码可以帮助你打开VS Code中不存在的文件。