【发布时间】:2022-01-09 06:46:15
【问题描述】:
我正在尝试通过 PowerShell 命令行创建一个 JavaScript .js 文件,但是,当我尝试回显时,该文件在我创建后立即消失。 PowerShell中是否有等同于BASH命令$ touch?
【问题讨论】:
-
这不是编程相关的问题,而是一般的软件问题。可能应该在SuperUser 上询问
标签: bash powershell shell command
我正在尝试通过 PowerShell 命令行创建一个 JavaScript .js 文件,但是,当我尝试回显时,该文件在我创建后立即消失。 PowerShell中是否有等同于BASH命令$ touch?
【问题讨论】:
标签: bash powershell shell command
它看起来像您在 PowerShell 中,与 Windows CMD-Prompt 略有不同。
$> touch
在 PowerShell 中,它们是 Command,一个 Cmdlet,不像 strong>BASH 有一个特定的 Cmdlet 用于创建新文件和目录(以及其他实体)。
$> New-Item
在 PowerShell& 中创建新项目的工作方式与在 Linux Shell 中的工作方式略有不同(我在此答案中特别指的是 Bash)。
例如,Windows PowerShell 的 CmdLet $> New-item 可以创建不止一种类型的项目——例如,PowerShell 同时创建目录和文件——因此;在 PowerShell 中,您需要指定项目类型。要指定项目类型,您将使用 ItemType 标志 -ItemType <argument>。伪参数是我添加的占位符。实际的 -ItemType 参数将是 File 和/或 Directory。
New-Item -Path 'A:\testing\one\two\three.txt' -ItemType File
在目录 two 中创建文件 three.txt,以及文件的完整路径名将是,A:\testing\one\two\three.txt
$> New-item CmdLet 专门用于创建文件和目录。这有点独特,因为 Linux Shell BASH 实现了 $> mkdir 命令,但它只创建目录,而不是文件。但是,BASH 表明 SHELL 不必具有专门用于创建文件的命令;这并不是说拥有文件创建命令没有任何好处。但是,在 Windows 中,您可以而且应该使用 New-Item CmdLet 创建目录。
New-Item -Path 'Z:\sum-directory' -ItemType Directory
此命令会创建一个名为 sum-directory 的新目录。该目录位于驱动器号 Z:\ 中,目录的完整路径名将是 Z:\sum-directory
【讨论】:
您应该使用type 或copy 而不是echo。
C:> 输入 nul >> "file.txt"
或
C:> 复制 nul "file.txt"
此链接有更多信息: https://www.shellhacks.com/windows-touch-command-equivalent/
【讨论】: