Windows PowerShell 上的“触摸”相当于什么? [重复]

问题描述 投票:0回答:2

我正在尝试通过 PowerShell 命令行创建 JavaScript

.js
文件,但是,当我尝试 echo 时,文件在创建后立即消失。 PowerShell 中是否有相当于 BASH 命令
$ touch
的命令?

我已尝试以下命令,但它们不起作用

echo file.txt
(ERROR)
echo. file.txt
(ERROR)
echo.>> file.txt
(ERROR)
bash powershell shell command
2个回答
7
投票

它看起来像您在 PowerShell 中的操作,与 Windows CMD 提示符略有不同。



PowerShell 相当于 Linux 命令
$> touch


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


PowerShell Cmdlet:
$> New-Item


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

PowerShell& 中创建新项目的工作方式与在 Linux Shell 中略有不同(我在这个答案中特别指的是 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://learn.microsoft.com/en-us/powershell/scripting/samples/working-with-files-and-folders?view=powershell-7.1#creating-files-and-folders





6
投票

您应该使用

type
copy
而不是
echo

C:> 输入 nul >> "file.txt"

C:> 复制 nul“file.txt”

此链接有更多信息: https://www.shellhacks.com/windows-touch-command-equivalent/

© www.soinside.com 2019 - 2024. All rights reserved.