教程: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 通配符表示法包括:
- 星号 (*) 匹配零个或多个出现的任何字符。
- 问号 (?) 完全匹配一个字符。
- 左括号 ([) 字符和右括号 (]) 字符括起一组要匹配的字符。
若要在 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
网友评论