PowerShell Out-File禁止覆蓋文件的方法
本文介紹使用PowerShell來寫文件時,如何阻止系統(tǒng)自動覆蓋已有的文件。
我們在使用腳本進(jìn)行文件處理的時候,我們可能不希望使用Ou-File生成的文件覆蓋已有的文件。那么怎么實現(xiàn)呢?在Out-File這個CmdLet中,有沒有什么參數(shù)可以阻止Out-File不聲不響的覆蓋了已有的文件呢?
答案是-NoClobber參數(shù)。
NoClobber參數(shù)
在Out-File輸出到文件時,如果使用了-NoClobber參數(shù),則系統(tǒng)遇到已有文件時,將無法執(zhí)行成功。下面的例子展示了當(dāng)d:\1.txt已經(jīng)存在時,使用Out-File輸出內(nèi)容到該文件時,系統(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”已經(jīng)存在。
所在位置 行: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參數(shù)用于指定將字符串附加到文件。如果同時指定了-Append 和 -NoClobber參數(shù),會不會有沖突呢?答案是,系統(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
關(guān)于PowerShell使用Out-File寫文件時禁止覆蓋已有文件,本文就介紹這么多,希望對您有所幫助,謝謝!
相關(guān)文章
PowerShell中簡單的自定義函數(shù)和調(diào)用函數(shù)例子
這篇文章主要介紹了PowerShell中簡單的自定義函數(shù)和調(diào)用函數(shù)例子,非常簡單的一個小例子,需要的朋友可以參考下2014-08-08
Powershell目錄文件夾管理權(quán)限的繼承和指定方法
這篇文章主要介紹了Powershell目錄文件夾管理權(quán)限的繼承和指定方法,本文給出了創(chuàng)建文件夾、獲取當(dāng)前權(quán)限、添加新的權(quán)限、添加管理員權(quán)限等,需要的朋友可以參考下2015-06-06
PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能
這篇文章主要介紹了PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能,本文使用Select-String解決這了個需求,需要的朋友可以參考下2015-01-01
PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實例
這篇文章主要介紹了PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實例,即強(qiáng)制參數(shù)的數(shù)據(jù)類型例子,需要的朋友可以參考下2014-07-07
PowerShell函數(shù)中接收管道參數(shù)實例
這篇文章主要介紹了PowerShell函數(shù)中接收管道參數(shù)實例,即通過管道給函數(shù)傳遞參數(shù)的方法,需要的朋友可以參考下2014-07-07

