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