我能用Windows PowerShell做什麼:刪除一個檔案或資料夾(或其它輸入的目標)
注:本篇文章,未在聯絡作者以及得到許可的情況下, 禁止以任何形式進行轉載。
刪除一個檔案或資料夾(或其它輸入的目標)
Remove-Item cmdlet 正好顧名思義:它能使你清除一個東西和所有東西。清除檔案C:/Script/test.txt ?那就刪除它:
Remove-Item c:/scripts test.txt你也可以使用通配字元刪除多個專案。舉個例子,這個命令會刪除所有在 C:/Scripts 裡的檔案 :
Remove-Item c:/scripts/*這裡是一個捕捉,當然。假設C:/Script包含替代的資料夾。在這種情況下,你可以提示是否要真的想要刪除在Scripts資料夾裡的任何東西。
The item at C:/test/scripts has children and the -recurse parameter was not specified.
If you continue, all children will be removed with the item. Are you sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(defaultis"Y"):
有快速繞過這個的方法嗎?對;只要在你的命令結尾處附加 -recurse 引數:
這是一個有趣的變化。假設這個Scripts資料夾包含了一大堆檔案和你想要刪除的所有東西。等等:也許不是所有的東西,也許想要留下什麼 .wav檔案。 沒問題;只要使用 -exclude 引數並打入要說明的檔案應該把它排出刪除:
Remove-Item c:/scripts/*-exclude *.wav那是什麼?現在你僅僅想要刪除 .wav 和 .mp3 檔案,保留其它所有型別?你不得不要求(使用 -include 引數):
Remove-Item c:/scripts/*-include .wav,.mp3當你想通後,如果你使用 -include 引數 cmdlet 將執行在那些指定專案的一部分引數上(不錯,你可以指定多個專案;只要分開時用逗號)。相比之下,如果你使用 -exclude 引數排除這些專案將免除cmdlet的行動。
是的,如果你想得到真正喜歡的,你可以使用 -include 與 -exclude 在同一個命令中。你認為在執行這個命令的時候會發生什麼?
Remove-Item c:/scripts/*-include *.txt –exclude *test*你懂得:在C:/Scripts資料夾裡所有的 .txt 檔案(當用 -include 引數標明時)都將被刪除,除了一些在檔名為test字元值的任何檔名(當用 -exclude 引數標明時)。嘗試一些不同的變化,不久它將變的很完美。
順便說一下,Remove-Item cmdlet 有一個 -whatif 引數,這實際上並不能刪除任何東西,但能告訴你會發生什麼,如果你使用 Remove-Item。沒有任何有用的意義那你是什麼意思?這裡,你先看看這個命令:
Remove-Item c:/scripts/*.vbs -whatif如果我們執行這個命令,在資料夾C:/Scripts裡所有 .vbs 型別的檔案將會刪除;當然我們會得到像這樣返回的如下資訊,讓我們知道哪個檔案被刪除,如果你使用 Remove-Item 外部的 -whatif 引數:
What if: Performing operation "Remove File" on Target "C:/scripts/imapi.vbs".What if: Performing operation "Remove File" on Target "C:/scripts/imapi2.vbs".
What if: Performing operation "Remove File" on Target "C:/scripts/methods.vbs".
What if: Performing operation "Remove File" on Target "C:/scripts/read-write.vbs
".
What if: Performing operation "Remove File" on Target "C:/scripts test.vbs".
What if: Performing operation "Remove File" on Target "C:/scripts/winsat.vbs".
除此之外,你可以刪除其它的檔案和資料夾。舉個例子,任命一個show別名來獲取這個清除命令:
Remove-Item alias:/show做一個說明,如這個具體位置:alias:/ 。這是 Windows PowerShell 驅動的標準記號法。驅動字母,然後冒號,然後由一個"/" 。
Set-Location env:Remove-Item 別名
- ri
- rd
- erase
- rm
- rmdir
- del