windows cmd 上 "touch" 的等价物是什么?

What is the equivalent of "touch" on windows cmd?

我正在尝试通过 PowerShell 命令行创建一个 JavaScript .js 文件,但是,当我尝试回显时,该文件在我创建后立即消失了。在 PowerShell 中是否有等同于 BASH 命令 $ touch 的命令?

Echo Attempt in PowerShell

您应该使用 typecopy 而不是 echo

C:> type nul >> "file.txt"

C:> copy nul "file.txt"

这个link有更多信息: https://www.shellhacks.com/windows-touch-command-equivalent/

它看起来像您的 PowerShell,与 Windows CMD 提示略有不同。



PowerShell等同于Linux命令$> touch


PowerShell 他们 Command, Cmdlet,与 BASH 不同,有一个特定的 Cmdlet 用于创建新文件和目录(以及其他实体)。


强大Shell Cmdlet:$> New-Item


您可以(在大多数情况下)将 BASH $> touch 命令 替换为 PowerShell CmdLet $> New-item 在 shell 环境中创建文件时。

PowerShell& 中创建新项目的方式与在 Linux Shells 中有所不同(我特指 Bash 在这个答案中)。 例如,Windows PowerShell 的 CmdLet $> New-item 可以创建不止一种类型的项目 — 例如,PowerShell 创建两个目录,并且文件 — 因此;在 PowerShell 中,您需要指定项目类型。要指定项目类型,您将使用 ItemType 标志 -ItemType <argument>。伪参数是我添加的占位符。实际 -ItemType 参数将是 File &/或 Directory.




示例 |新文件:


这是创建新文件的标准 Cmdlet 格式:

    New-Item -Path 'A:\testing\one\two\three.txt' -ItemType File


创建文件,three.txt 在目录 two,文件的完整路径名是 A:\testing\one\two\three.txt



示例 |新目录:


$> New-item CmdLet 专门用于创建文件和目录。这有点独特,因为 Linux Shell BASH 实现了 $> mkdir 命令,但它只创建目录,不创建文件。 BASH 表明 SHELL 不必具有专门用于创建文件的命令;这并不是说拥有文件创建命令没有任何好处。但是,在 Windows 中,您可以而且应该使用 New-Item CmdLet 创建目录。

以下是使用 PowerShell 时创建目录的方法:

New-Item -Path 'Z:\sum-directory' -ItemType Directory

此命令创建一个名为 sum-directory 的新目录。该目录位于驱动器盘符 Z:\ 中,目录的完整路径名将是 Z:\sum-directory



有关此主题的更多信息,请访问:

https://docs.microsoft.com/en-us/powershell/scripting/samples/working-with-files-and-folders?view=powershell-7.1#creating-files-and-folders