欢迎来到代码驿站!

当前位置:首页 >

PowerShell Out-File禁止覆盖文件的方法

时间:2021-07-03 08:25:34|栏目:|点击:

本文介绍使用PowerShell来写文件时,如何阻止系统自动覆盖已有的文件。

我们在使用脚本进行文件处理的时候,我们可能不希望使用Ou-File生成的文件覆盖已有的文件。那么怎么实现呢?在Out-File这个CmdLet中,有没有什么参数可以阻止Out-File不声不响的覆盖了已有的文件呢?
答案是-NoClobber参数。

NoClobber参数

在Out-File输出到文件时,如果使用了-NoClobber参数,则系统遇到已有文件时,将无法执行成功。下面的例子展示了当d:\1.txt已经存在时,使用Out-File输出内容到该文件时,系统将会报错。

复制代码 代码如下:

PS C:\Users\spaybow> "" | Out-File d:\1.txt
PS C:\Users\spaybow> "" | 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:\Users\spaybow> "hello" | Out-File d:\1.txt
PS C:\Users\spaybow> "powershell" | Out-File d:\1.txt -NoClobber -Append
PS C:\Users\spaybow> type d:\1.txt
hello
powershell

关于PowerShell使用Out-File写文件时禁止覆盖已有文件,本文就介绍这么多,希望对您有所帮助,谢谢!  

上一篇:思科漏洞主角林恩访谈路由器是定时炸弹

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:PowerShell Out-File禁止覆盖文件的方法

本文地址:http://www.codeinn.net/misctech/151688.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有