PowerShell Out-File禁止覆盖文件的方法
本文介绍使用PowerShell来写文件时,如何阻止系统自动覆盖已有的文件。
我们在使用脚本进行文件处理的时候,我们可能不希望使用Ou-File生成的文件覆盖已有的文件。那么怎么实现呢?在Out-File这个CmdLet中,有没有什么参数可以阻止Out-File不声不响的覆盖了已有的文件呢?
答案是-NoClobber参数。
NoClobber参数
在Out-File输出到文件时,如果使用了-NoClobber参数,则系统遇到已有文件时,将无法执行成功。下面的例子展示了当d:1.txt已经存在时,使用Out-File输出内容到该文件时,系统将会报错。
PS C:Usersspaybow> "" | Out-File d:1.txt PS C:Usersspaybow> "" | Out-File d:1.txt -NoClobber Out-File : 文件“D:1.txt”已经存在。 所在位置 行:1 字符: 14 + "" | Out-File <<<< d:1.txt -NoClobber + CategoryInfo : ResourceExists: (D:1.txt:String) [Out-File], IO Exception + FullyQualifiedErrorId : NoClobber,Microsoft.PowerShell.Commands.OutFileC ommand
另外需要说明的是:我们知道-Append参数用于指定将字符串附加到文件。如果同时指定了-Append 和 -NoClobber参数,会不会有冲突呢?答案是,系统会将字符串附加到文件。演示如下:
PS C:Usersspaybow> "hello" | Out-File d:1.txt
PS C:Usersspaybow> "powershell" | Out-File d:1.txt -NoClobber -Append
PS C:Usersspaybow> type d:1.txt
hello
powershell
关于PowerShell使用Out-File写文件时禁止覆盖已有文件,本文就介绍这么多,希望对您有所帮助,谢谢!
PowerShell Out-File向只读文件写入内容的方法
本文介绍使用PowerShell来写文件时,如果遇到只读文件,如何强制覆盖它。D:2.txt是一个只读文件,如果我运行一条Out-File输出语句,将得到报错提示:PSC
PowerShell Out-File指定文件编码的方法
本文介绍使用PowerShell如何来创建一个文本文件,并且文本文件是使用UTF-8编码的。要创建一个UTF-8编码的文件,不是一件容易的事情。想一想C#中创建一
PowerShell Out-File追加字符串到文件末尾的方法
本文介绍PowerShell中如何将一个字符串输出到一个文件文件的结尾,即不覆盖原来的内容,只是附加到原文之后。有这样一个任务:将ThisisPowerShell!这句
编辑:一起学习网
标签:文件,已有,参数,字符串,本文