PowerShell Out-File禁止覆蓋文件的方法
本文介紹使用PowerShell來寫文件時,如何阻止系統(tǒng)自動覆蓋已有的文件。
我們在使用腳本進行文件處理的時候,我們可能不希望使用Ou-File生成的文件覆蓋已有的文件。那么怎么實現(xiàn)呢?在Out-File這個CmdLet中,有沒有什么參數可以阻止Out-File不聲不響的覆蓋了已有的文件呢?
答案是-NoClobber參數。
NoClobber參數
在Out-File輸出到文件時,如果使用了-NoClobber參數,則系統(tǒng)遇到已有文件時,將無法執(zhí)行成功。下面的例子展示了當d:\1.txt已經存在時,使用Out-File輸出內容到該文件時,系統(tǒng)將會報錯。
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參數,會不會有沖突呢?答案是,系統(tǒng)會將字符串附加到文件。演示如下:
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寫文件時禁止覆蓋已有文件,本文就介紹這么多,希望對您有所幫助,謝謝!
相關文章
PowerShell數組結合switch語句產生的奇特效果介紹
這篇文章主要介紹了PowerShell數組結合switch語句產生的奇特效果介紹,產生了類似枚舉的效果,需要的朋友可以參考下2014-08-08
PowerShell中使用PrintManagement管理打印機示例
這篇文章主要介紹了PowerShell中使用PrintManagement管理打印機示例,本文給出了一個安裝打印機驅動和打印機端口的例子,需要的朋友可以參考下2015-03-03
PowerShell實現(xiàn)動態(tài)獲取當前腳本運行時消耗的內存
這篇文章主要介紹了PowerShell實現(xiàn)動態(tài)獲取當前腳本運行時消耗的內存,本文直接給出實現(xiàn)腳本函數,需要的朋友可以參考下2015-06-06
windows Powershell 快速編輯模式和標準模式
powershell控制臺有兩種模式,一個是快速編輯模式,一個是標準模式。2014-08-08

