我试图通过PowerShell命令行创建一个JavaScript
.js
文件,然而,当我尝试回显该文件时,它立即消失了。在PowerShell中有类似于BASH命令$ touch
的命令吗?
PowerShell中的回显尝试
.js
文件,然而,当我尝试回显该文件时,它立即消失了。在PowerShell中有类似于BASH命令$ touch
的命令吗?
PowerShell中的回显尝试
看起来你正在使用PowerShell,它与Windows命令提示符稍有不同。
$> touch
在PowerShell中,它们称之为Cmdlet,与BASH不同的是,它有一个特定的Cmdlet用于创建新文件和目录(以及其他实体)。
$> New-Item
$> New-item
替换BASH命令$> touch
。在PowerShell中,创建新项的工作方式与Linux Shell有些不同(本答案特指Bash)。例如,Windows PowerShell的Cmdlet $> New-item
可以创建多种类型的项——例如,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:> type nul >> "file.txt"
或者
C:> copy nul "file.txt"
此链接提供更多信息: https://www.shellhacks.com/windows-touch-command-equivalent/
type nul >> ...
”没有任何作用,“copy nul ...
”会用空文件覆盖原文件(在Windows 7上测试过)。 - Top-Master