常用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

你可能感兴趣的:(常用powershell命令)