您的位置:首页 > 运维架构 > Shell

我能用Windows PowerShell做什么:删除一个文件或文件夹(或其它输入的目标)

2007-08-08 18:35 441 查看
注:本篇文章,未在联系作者以及得到许可的情况下, 禁止以任何形式进行转载。

By:Anders Mail:katrina520@163.com

删除一个文件或文件夹(或其它输入的目标)

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
No [L] No to All [S] Suspend [?] Help


(default is "Y"):



有快速绕过这个的方法吗?对;只要在你的命令结尾处附加 -recurse 参数:


Remove-Item c:/scripts/* -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

英文原文:http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/remove-item.mspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐