相当于 Linux 的 `touch`,使用 PowerShell 创建一个空文件

相当于 Linux 的 `touch`,使用 PowerShell 创建一个空文件

有没有等同于touch在 PowerShell 中?

例如,在 Linux 中,我可以通过调用以下命令创建一个新的空文件:

touch filename

在 Windows 上,这很尴尬——通常我只是打开一个新的实例记事本并保存一个空文件。

那么 PowerShell 中是否有一种编程方式可以做到这一点?

我并不是想完全匹配触摸行为,而只是想找到创建空文件的最简单的等效方法。

答案1

使用附加重定向器“>>”可解决现有文件被删除的问题:

echo $null >> filename

答案2

要创建空白文件:

New-Item example.txt

请注意,在旧版本的 PowerShell 中,您可能需要指定-ItemType file

要更新文件的时间戳:

(gci example.txt).LastWriteTime = Get-Date

答案3

这是一个版本,如果文件不存在则创建新文件,如果文件存在则更新时间戳。

Function Touch-File
{
    $file = $args[0]
    if($file -eq $null) {
        throw "No filename supplied"
    }

    if(Test-Path $file)
    {
        (Get-ChildItem $file).LastWriteTime = Get-Date
    }
    else
    {
        echo $null > $file
    }
}

答案4

已经有很多值得回答的答案了,但我非常喜欢 New-Item 的别名,它就是:ni

您还可以放弃文件类型声明(我认为在添加扩展名时是隐式的),因此要在当前目录中创建名为“x”的 javascript 文件,我只需这样写:

ni x.js

比触摸快 3 个字符!

相关内容