删除一个文件或文件夹(或其它输入的目标)
Remove-Item cmdlet 正好顾名思义:它能使你清除一个东西和所有东西。清除文件C:/Script/test.txt ?那就删除它:
你也可以使用通配字符删除多个项目。举个例子,这个命令会删除所有在 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
( default is " Y " ):
有快速绕过这个的方法吗?对;只要在你的命令结尾处附加 -recurse 参数:
这是一个有趣的变化。假设这个Scripts文件夹包含了一大堆文件和你想要删除的所有东西。等等:也许不是所有的东西,也许想要留下什么 .wav文件。 没问题;只要使用 -exclude 参数并打入要说明的文件应该把它排出删除:
那是什么?现在你仅仅想要删除 .wav 和 .mp3 文件,保留其它所有类型?你不得不要求(使用 -include 参数):
当你想通后,如果你使用 -include 参数 cmdlet 将运行在那些指定项目的一部分参数上(不错,你可以指定多个项目;只要分开时用逗号)。相比之下,如果你使用 -exclude 参数排除这些项目将免除cmdlet的行动。
是的,如果你想得到真正喜欢的,你可以使用 -include 与 -exclude 在同一个命令中。你认为在运行这个命令的时候会发生什么?
你懂得:在C:/Scripts文件夹里所有的 .txt 文件(当用 -include 参数标明时)都将被删除,除了一些在文件名为test字符值的任何文件名(当用 -exclude 参数标明时)。尝试一些不同的变化,不久它将变的很完美。
顺便说一下,Remove-Item cmdlet 有一个 -whatif 参数,这实际上并不能删除任何东西,但能告诉你会发生什么,如果你使用 Remove-Item。没有任何有用的意义那你是什么意思?这里,你先看看这个命令:
如果我们运行这个命令,在文件夹C:/Scripts里所有 .vbs 类型的文件将会删除;当然我们会得到像这样返回的如下信息,让我们知道哪个文件被删除,如果你使用 Remove-Item 外部的 -whatif 参数:
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别名来获取这个清除命令:
做一个说明,如这个具体位置:alias:/ 。这是 Windows PowerShell 驱动的标准记号法。驱动字母,然后冒号,然后由一个"/" 。
Remove-Item 别名
- ri
- rd
- erase
- rm
- rmdir
- del