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

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

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

touch index.html app.js style.css

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


当前回答

是的,你可以使用Node for Touch,我只是使用它,它在windows Cmd或gitbash中工作都很好

其他回答

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

fsutil file createnew filename  requiredSize

参数信息如下:

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

文件-触发文件操作

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

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

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

简单,txt文件的例子

echo $null >> filename.txt

正如前面提到的

echo >> index.html

它可以是任何文件,具有任何扩展名 然后做

notepad index.html

这将在记事本编辑器中打开您的文件

答案是错误的,它只在文件不存在时工作。如果文件存在,使用第一个不执行任何操作,第二个在文件末尾添加一行。

正确答案是:

copy /b filename.ext +,,

我在这里找到了:https://superuser.com/questions/10426/windows-equivalent-of-the-linux-command-touch/764721#764721

在windows命令行如cmd上替换touch命令的一个简单方法是:

type nul > your_file.txt

这将在your_file.txt文件中创建0个字节。

这也是在windows批处理文件中使用的一个很好的解决方案。

另一种方法是使用echo命令:

echo.> your_file.txt

的回声。-将创建一个只有一行空的文件。


如果您需要保存文件的内容,请使用>>而不是>

>   Creates a new file
>>  Preserves content of the file

例子

type nul >> your_file.txt

也可以使用call命令。

在不停止父批处理程序的情况下从另一个批处理程序调用一个批处理程序。call命令接受标签作为调用的目标。

例子:

call >> your_file.txt

--- 或者即使你不想让它变得困难,你也可以安装Windows Linux子系统(WSL)。然后,类型。

wsl touch

or

wsl touch textfilenametoedit.txt

不需要引号。