常用powershell命令


教程:http://www.pstips.net/

大小写不敏感

直接输入cd 加文件目录就可以定位到相关目录内。

执行.exe或.bat文件:

.\fileName 

清屏

clear|cls 

查看版本:

$host.version
//or
Get-Host

ESC : 清除输入行

get-process : 查看当前服务列表

文件重命名:

Rename-Item FileName -NewName NewFileName

FileName : 原文件名
NewFileName : 新文件名

批量重命名文件:

$i = 0
 
Get-ChildItem -Path c:\pictures -Filter *.jpg |
ForEach-Object {
$extension = $_.Extension
$newName = 'pic_{0:d6}{1}' -f $i, $extension
$i++
Rename-Item -Path $_.FullName -NewName $newName
}

置数:

set t pepelu
echo $t

output:pepelu

$t = 233
echo $t

output : 233

获取你的当前位置 (Get-Location)

Get-Location

output:
Path
C:\Documents and Settings\PowerUser

设置你的当前位置 (Set-Location)

Set-Location C:\Windows
//or
Set-Location -Path C:\Windows

输入命令后,你将注意到你不会收到任何有关该命令影响的直接反馈。执行某项操作的大多数 Windows PowerShell 命令可生成很少的输出或根本不会生成输出,因为该输出并不总是有用。若要验证在你输入 Set-Location 命令时是否已成功更改目录,请在输入 Set-Location 命令时包括 -PassThru 参数:

Set-Location -Path C:\Windows -PassThru

output :
Path
C:\Windows

可将 -PassThru 参数与WindowsPowerShell中的许多Set命令结合使用,以在没有默认输出的情况下返回有关结果的信息。

PS C:\Windows> set t pepelu -PassThru

Name                           Value
----                           -----
t                              pepelu

如果你位于 C:\Windows 文件夹中,则句点 (.) 表示 C:\Windows,而双句点 (..) 表示 C:,即:句点 (.) 表示当前目录,双句点 (..) 表示父目录。

使用默认方式打开一个文件:.\FileName

cd 和 chdir 都可以打开一个目录。

使用文件、文件夹和注册表项:

https://technet.microsoft.com/zh-cn/library/dd315381.aspx

新建文件:

type > %~dp0\a.txt
//or
echo a 2>FileName

“2”表示错误输出的句柄,此例中没有错误输出,所以创建了没有内容的空文件。
其实>默认都是重定向了句柄1,即标准输出句柄。比如cd.>a.txt,其实就是cd. 1>a.txt。
同样,句柄3到9也可以使用在本例中,它们是未经定义的句柄,也不会有输出,如
echo a 3>a.txt
http://bits00.iteye.com/blog/1585651
http://www.pstips.net/working-with-files-and-directories.html

枚举文件:

基本语法:Get-Command -Name Get-ChildItem -Syntax,可以通过使用 Get-ChildItem cmdlet 的参数来执行非常复杂的列出操作。

  • 列出所有包含的项 (-Recurse):
//列出指定目录下的所有文件,包括子目录中文件
Get-ChildItem -Path C:\WINDOWS -Recurse
//列出当前目录下的所有文件,包括子目录中的文件
Get-ChildItem -Recurse
  • 按名称筛选项 (-Name):
//列出指定目录下的所有文件
Get-ChildItem -Path C:\WINDOWS -Name
//列出当前目录下的所有文件,只显示文件名
Get-ChildItem -Name
//列出当前目录下的指定文件,显示文件详细信息
Get-ChildItem FileName
  • 强制列出隐藏的项 (-Force)

正常情况下在文件资源管理器或 Cmd.exe 中不可见的项不会在 Get-ChildItem 命令的输出中显示。若要显示隐藏的项,请使用 Get-ChildItem 的 Force 参数。

Get-ChildItem -Path C:\Windows -Force
  • 通配符:

由于通配符匹配由 Windows PowerShell 引擎处理,因此接受通配符的所有 cmdlet 使用相同的表示法,并具有相同的匹配行为。Windows PowerShell 通配符表示法包括:

  1. 星号 (*) 匹配零个或多个出现的任何字符。
  2. 问号 (?) 完全匹配一个字符。
  3. 左括号 ([) 字符和右括号 (]) 字符括起一组要匹配的字符。

若要在 Windows 目录中查找带有后缀 .log并且基名称中正好有五个字符的所有文件,请输入以下命令:

Get-ChildItem -Path C:\Windows\?????.log

若要在 Windows 目录中查找以字母 x 开头的所有文件,请键入:

 Get-ChildItem -Path C:\Windows\x*
  • 排除项 (-Exclude)

你可以通过使用 Get-ChildItem 的 Exclude 参数来排除特定项。这可让你在单个声明中执行复杂的筛选。
类似于 w32.dll 的表达式将找到满足条件的所有 DLL,但它也可能返回名称中包含“95”或“16”的 Windows 95 和 16 位 Windows 兼容性 DLL。你可以通过将 Exclude 参数与模式 [9516] 一起使用来忽略名称中含有任意这些数字的文件。

 Get-ChildItem -Path C:\WINDOWS\System32\w*32*.dll -Exclude *[9516]*
  • 混合使用 Get-ChildItem 参数
Get-ChildItem -Path C:\Windows\*.dll -Recurse -Exclude [a-y]*.dll

即使 Windows 文件夹中有两个以字母“z”开头的 DLL,也没有结果。
由于我们已将通配符指定为路径的一部分,因此未返回任何结果。即使命令是递归的,Get-ChildItem cmdlet 仍然将项限制为 Windows 文件夹中名称以“.dll”结尾的项。
若要指定名称匹配特殊模式的文件的递归搜索,请使用 -Include 参数。

 Get-ChildItem -Path C:\Windows -Include *.dll -Recurse -Exclude [a-y]*.dll

Tab 键 : 自动提示

文件处理命令:

http://lzspf.blog.51cto.com/843701/919900

打开指定文件目录:

目录中间可以有空格

explorer E:\Program Files
//调用文件管理器,打开当前shell所在目录
explorer .

创建新目录:

md DirName

删除目录:

del DirName
//取消确认提示
del DirName -recurse
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 12,373评论 0 27
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,818评论 9 468
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,355评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,185评论 2 33
  • 十一月的中下旬 如期而至的寒潮降温 窗外海风怒号 吞噬撕扯万物的声音 仍旧是路灯温暖的夜 昏黄的光芒肆意地倾泻 如...
    宋予屿阅读 1,521评论 3 7