我正在尝试通过 PowerShell 命令行创建 JavaScript
.js
文件,但是,当我尝试 echo 时,文件在创建后立即消失。 PowerShell 中是否有相当于 BASH 命令 $ touch
的命令?
我已尝试以下命令,但它们不起作用
echo file.txt
(ERROR)
echo. file.txt
(ERROR)
echo.>> file.txt
(ERROR)
它看起来像您在 PowerShell 中的操作,与 Windows CMD 提示符略有不同。
$> touch
在 PowerShell 中,它们是 Command,一个 Cmdlet,与 BASH 不同,有一个特定的 Cmdlet 用于创建新文件和目录(以及其他实体)。
$> New-Item
$> touch
命令 替换为 PowerShell 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
在目录
three.txt
中创建文件 two
,文件的完整路径名为 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/