PowerShell与cmd的对比点评(一)——文件定位和操作

来源:互联网 发布:网络经营项目 编辑:程序博客网 时间:2024/06/05 19:14

相比PowerShell,Windows用户可能更熟悉cmd.exe,本文将通过说明cmd.exe在文件定位和操作方面的语法特性来加深读者对PowerShell语法的理解。

PowerShell提供了一系列默认别名,使得用户熟知的cmd.exe命令在PowerShell中可用,常用的命令如dir、copy及sort等。在这些命令中使用特定的操作选项时,不能使用cmd.exe原有的选项形式。这是因为PowerShell使用了不同的选项语法,而且原有的cmd.exe的命令名在PowerShell中仅以别名形式出现,真正起作用的是基于.NET框架的cmdlet。cmd.exe的每个命令包含相关的多个功能,这样即可通过尽量少的命令实现更多的功能。功能之间通过参数来区分,然而自动化脚本很难实现复杂功能的集成。PowerShell中包含大量cmdlet,其中每个cmdlet包含的选项很少,这样便于复杂功能的集成。如PowerShell中使用的dir不带排序选项,如果需要排序输出的内容,需要调用sort命令实现。表A-1所示为cmd.exe和PowerShell中常见的定位操作命令,其中cmd.exe中基础的导航命令对应PowerShell中的对等命令,即前面章节提到的别名。PowerShell列中每条命令的第2条(用斜体区分)是未使用别名的版本,如“dir”是“Get-ChildItem”的别名。

表A-1 cmd.exe和PowerShell中常见的定位操作

操作描述

cmd.exe语法

PowerShell

列出当前目录包含文件清单

dir

dir

Get-ChildItem

列出匹配特定模式的所有文件

dir *.txt

dir *.txt

Get-ChildItem *.txt

列出当前目录子文件夹中的所有文件

dir /s

dir -rec

Get-ChildItem -rec

列出子目录中所有的文本文件

dir /s *.txt

dir –rec –filter *.txt

Get-ChildItem –rec –filter *.txt

按照最后写入时间将文件排序

dir /o:-d

dir | sort –desc LastWriteTime

将当前目录设置为特定路径

cd c:/windows

cd c:/windows

Set-Location c:/windows

表A-2所示为在PowerShell中与cmd.exe对应的常用文件操作命令。

表A-2 cmd.exe和PowerShell中的常用文件操作命令

操作描述

cmd.exe语法

PowerShell

将文件内容答印到屏幕

type file.txt

type file.txt

Get-Content file.txt

复制单个文件

copy f1.txt f1.txt

copy f1.txt f2.txt

Copy-Item f1.txt f2.txt

复制多个文件

copy f1.txt,f2.txt,f3.txt c:/

copy f1.txt,f2.txt,f3.txt c:/

将多个文件连接到一起

copy f1.txt+f2.txt+f3.txt f4.txt

type f1,txt,t2,txt,f3.txt > f4.txt

删除单个文件

del file.txt

del file.txt

Remove-Item file.txt

删除当前目录中的所有文本文件

del *.txt

del *.txt

Remove-Item *.txt

删除当前目录的子目录中的所有文本文件

del /s *.txt

del –rec *.txt

Remove-Item –rec *.txt

PowerShell提供管道操作符(|),并支持cmd.exe中的重定向操作符(>和>>、2>和2>&1)。但其不支持输入重定向,需要使用Get-Content cmdlet或其别名type。

作者: 付海军
出处:http://blog.csdn.net/fuhj02
版权:本文版权归作者和csdn共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://txj.lzuer.com/

原创粉丝点击