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

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

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

touch index.html app.js style.css

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


当前回答

简单,txt文件的例子

echo $null >> filename.txt

其他回答

使用PowerShell, type: ni index.html或ni style.css或ni app.js

ni <filename>.<extension>

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

fsutil file createnew filename  requiredSize

参数信息如下:

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

文件-触发文件操作

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

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

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

你可以用下面的命令复制touch的功能:

$>>filename

它所做的是尝试执行一个名为$的程序,但是如果$不存在(或者不是一个产生输出的可执行文件),那么它就不会产生输出。它本质上是一个功能上的黑客,但是你会得到以下错误消息:

'$'不能被识别为内部或外部命令, 可操作的程序或批处理文件。

如果你不想要错误信息,那么你可以做以下两件事之一:

type nul >> filename

Or:

$>>filename 2>nul

type命令尝试显示nul的内容,它什么也不做,只是在读取时返回一个EOF(文件的结束)。

2>nul将错误输出(输出2)发送给nul(当写入时忽略所有输入)。显然,type命令使第二个命令(带有2>nul)变得多余,因为它键入更快。但至少你现在有了选择和知识。

最简单的解决方案是:

。> myfile.txt

你会得到一个错误,但是文件创建了:

假设文件存在,您只需要更新时间戳。

type test.c > test.c.bkp && type test.c.bkp > test.c && del test.c.bkp