本文介紹使用PowerShell來寫文件時,如果遇到只讀文件,如何強(qiáng)制覆蓋它。
D:\2.txt是一個只讀文件,如果我運(yùn)行一條Out-File輸出語句,將得到報(bào)錯提示:
復(fù)制代碼 代碼如下:
PS C:\Users\spaybow> "" | Out-File -append d:\2.txt
Out-File : 對路徑“D:\2.txt”的訪問被拒絕。
所在位置 行:1 字符: 14
+ "" | Out-File -append d:\2.txt
+ CategoryInfo : OpenError: (:) [Out-File], UnauthorizedAccessExc
eption
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.Ou
tFileCommand
這里說的“對路徑“D:\2.txt”的訪問被拒絕”,就是因?yàn)檫@個2.txt是一個只讀文件。
有時候,我們管不了那么多,必須要強(qiáng)制覆蓋時,要怎么樣才能神擋殺神、佛擋殺佛呢?幸好,Out-File還提供了一個-Force參數(shù),這個參數(shù)加入之后,不管文件是否只讀,都可以寫入內(nèi)容了。
復(fù)制代碼 代碼如下:
PS C:\Users\spaybow> "" | Out-File -append -force d:\2.txt
PS C:\Users\spaybow>
不報(bào)錯了就是執(zhí)行成功了!
這里還需要注意一下的是,在執(zhí)行完這個寫文件的命令之后,再來查看一下d:\2.txt,我發(fā)現(xiàn)它仍然是只讀的狀態(tài)。這個狀態(tài)并沒有因?yàn)楸粚懭肓藘?nèi)容而被破壞。
另外,如果當(dāng)前用戶對文件沒有寫入權(quán)限,那么即使使用了-Force參數(shù),也不能寫入內(nèi)容到該文件。
關(guān)于PowerShell如何向只讀文件寫入內(nèi)容,本文就介紹這么多,希望對您有所幫助,謝謝!
您可能感興趣的文章:- PowerShell Out-File指定文件編碼的方法
- PowerShell Out-File禁止覆蓋文件的方法
- PowerShell Out-File追加字符串到文件末尾的方法