Windows相当于“touch”(即创buildindex.html的node.js方法)

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

'touch' is not recognized as an internal or external command, operable program or batch file. 

当我按照说明来做:

 touch index.html app.js style.css 

有没有使用“触摸”的Windows相当于? 我是否需要手动创build这些文件(并修改它们以更改时间戳)才能实现这种命令? 这似乎不是很… node-ish …

在cmd窗口中input:

 type nul > your_file.txt 

这会创build0个字节的your_file.txt文件。

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

 echo.>your_file.txt 

回声。 – 将在其中创build一个空行的文件。

Windows本身不包含touch命令。

您可以使用任何可用的公共版本,也可以使用您自己的版本。 将此代码保存为touch.cmd并将其放置在您的path中的某个位置

 @echo off setlocal enableextensions disabledelayedexpansion (for %%a in (%*) do if exist "%%~a" ( pushd "%%~dpa" && ( copy /b "%%~nxa"+,, & popd ) ) else ( type nul > "%%~fa" )) >nul 2>&1 

它将迭代它的参数列表,并为每个元素(如果存在)更新文件时间戳,否则,创build它。

你可以使用这个命令:ECHO >> filename.txt

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

更新:

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

在Windows Powershellterminal中,不需要命令 – 既不是type也不是echo – 来模拟Unix / Mac OS X的“touch”命令。 只需使用以下简写:

 $null > filename 

这将在您当前的位置创build一个名为“文件名”的空文件。 使用您可能需要的任何文件扩展名,例如'.txt'。

来源: https : //superuser.com/questions/502374/equivalent-of-linux-touch-to-create-an-empty-file-with-powershell (查看评论)

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

 fsutil file createnew filename requiredSize 

参数信息如下:

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

文件 – 触发文件操作

createnew – 要执行的操作(创build一个新文件)

文件名 – 将字面上的文件的名称

requiredSize – 将在创build的文件中以字节为单位分配文件大小

您也可以在Windows命令窗口(cmd.exe)中使用copy con [filename] :

 C:\copy con yourfile.txt [enter] C:\CTRL + Z [enter] //hold CTRL key & press "Z" then press Enter key. ^Z 1 Files Copied. 

这将在本地目录中创build一个名为yourfile.txt的文件。

您可以使用以下命令复制touch的function:

 $>>filename 

这样做是试图执行一个名为$的程序,但如果$不存在(或不是产生输出的可执行文件),则不会产生输出。 它本质上是一个function的破解,但是你会得到以下错误信息:

“$”不被识别为内部或外部命令,可操作程序或batch file。

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

 type nul >> filename 

要么:

 $>>filename 2>nul 

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

2>nul将错误输出(输出2)发送到nul(写入时忽略所有input)。 很显然,第二个命令( 2>nul )被type命令冗余,因为type更快。 但至less你现在有select和知识。