译者:Anders
删除一个文件或文件夹(或其它输入的目标)
Remove-Item cmdlet 正好顾名思义:它能使你清除一个东西和所有东西。清除文件C:\Script\test.txt ?那就删除它:
代码:
Remove-Item c:\scripts test.txt
你也可以使用通配字符删除多个项目。举个例子,这个命令会删除所有在 C:\Scripts 里的文件 :
代码:
Remove-Item c:\scripts\*
这里是一个捕捉,当然。假设C:\Script包含替代的文件夹。在这种情况下,你可以提示是否要真的想要删除在Scripts文件夹里的任何东西。
代码:
Confirm
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
(default is "Y"):
有快速绕过这个的方法吗?对;只要在你的命令结尾处附加 -recurse 参数:
代码:
Remove-Item c:\scripts\* -recurse
这是一个有趣的变化。假设这个Scripts文件夹包含了一大堆文件和你想要删除的所有东西。尝试一些不同的变化,不久它将变的很完美。
顺便说一下,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: