Powershell使用小技巧-需持续更新

 

使用$Alias:dir查询dir的cmdlet,其他命令类似:
 
PS C:\Users\Administrator\Desktop> $Alias:dir Get-ChildItemPS C:\Users\Administrator\Desktop> $Alias:ls Get-ChildItemPS C:\Users\Administrator\Desktop> $Alias:hostPS C:\Users\Administrator\Desktop> $Alias:cp Copy-Item
 

 

 
日期格式化:
PS C:\> Get-Date -Format yyyy-MMM-dd
2018-6月-04
PS C:\>
PS C:\> Get-Date -Format yyyy-MMM-dd-hhmmtt
2018-6月-04-0413下午
PS C:\> Get-Date -Format yyyy-MMM-dd-hh:mmtt
2018-6月-04-04:13下午
2018-6月-04
PS C:\>
PS C:\> Get-Date -Format yyyy-MMM-dd-hhmmtt
2018-6月-04-0413下午
PS C:\> Get-Date -Format yyyy-MMM-dd-hh:mmtt
2018-6月-04-04:13下午

 

管理文件夹:
Get-ChildItem 列出路径中的所有目录
Test-Path        检查文件是否存在
New-Item        创建新的文件,可用参数-Path -ItemType -Name -Force 
Powershell使用小技巧-需持续更新_第1张图片
Get-Content   获取文件内容 
Add-Content  添加内容到文件里 

Powershell使用小技巧-需持续更新_第2张图片

 

Cope-Item       拷贝文件 
Copy-Item $oldPath $newPath -Force
Move-Item      移动文件 
Move-Item $oldPath $newPath -Force
 
Remove-Item   删除所有文件及其内容
Remove-Item $oldfolder -Force -Recurse
 
搜索文件:
#从众多文件中搜索某个关键词
$keyword="test"
Get-ChildItem -Path $path -Include *.txt,*.csv,*.sql,*.html -Recure |
Select-String -Pattern $keyword
 
#根据时间搜索
[datetime]$starttime="2018-06-03"

 

 

[datetime]$endtime="2018-06-04"
Get-ChildItem -Path $path -Recure |
Where CreationTime -ge $starttime |
Where CreationTime -le  $endtime |
Sort -Property LastWriteTime
 
发送邮件:

 

Powershell使用小技巧-需持续更新_第3张图片
注释:
#单行注释
<#这个可以多行注释#>
 
大字符串:
$Query=@"
INSERT INTO table_test(clu1,clu2)
VALUES('V1','V2')
"@
 
语句终止:
使用新行或分号作为语句结束符,新行更常见!
 
转义和连接:
使用反引号`         与~在一起的那个
转义:
`n 新行
`r 回车
`' 单引号
`" 双引号
`0 Null
连接:命令很长时,想把命令放在不用行以保持美观,也使命令更可读
可使用反引号`在行尾,否则powershell将以新行最为语句结束符。也要确保在反引号后面没有空格
Invoke-Sqlcmd`
-Query $Query`
-ServerInstance $instanceName`
-Database $dbName

 

--------以下更新于2018年06月25日---------

PowerShell两种不同的使用模式:

脚本方式和shell命令方式,

PowerShell并不是类似于VBScript或KiXtart的脚本语言。可以以脚本方式工作(和大多数语言一样,可以在Windows记事本中键入大量关键字形成脚本),但并不是其主要的工作模式。特别是对于初学者来说,还看不懂脚本。

PowerShell不区分大小写。

Cmdlet是一个原生的PowerShell命令行工具。发音“command-let”----命令-让  哈哈

广义上的命令包括:命令一词代表任何或所有下列提到的术语。

Cmdlet,Cmdlet是一个原生的PowerShell命令行工具。发音“command-let”----命令-让  哈哈

函数--(不是,Net语言编写,而是以PowerShell自己的脚本语言编写),

工作流--(执行的是系统的一类特殊函数),

应用程序--(是任意类型的外部可执行程序,包括类似Ping,NelookUp等命令行工具)。

 

别名即命令的昵称:

和Linux中的别名不同,PowerShell的别名真的是一个命令名称的一个昵称;而Linux中别名还可以作为一种运行包含一堆参数的命令的快捷方式。

Powershell使用小技巧-需持续更新_第4张图片

 

除了命令有昵称,参数也有昵称:不清楚可以自己设置参数的昵称不,试一下

1.简化参数名称:不输入完整的参数名称,也可以运行,比如有参数-ComputerName,-Common和-Composite三个参数。

这时可以用-Compu -Comm 和-Compo分别指代三个参数即可。熟练使用命令后这样是简便一些,但是多按几个Tab键也挺好。自动补充确认,然而别人写出这样的命令时,自己要知道是对的。

2.参数名别名:在帮助文件或方便查阅的地方不好查到,但是其确实有别名的。例如获取-ComputerName的别名

Powershell使用小技巧-需持续更新_第5张图片

使用-ComputerName的别名-Cn,输入-cn Tab键会首字母填充变大。获取其他的参数别名参考上述命令。

Powershell使用小技巧-需持续更新_第6张图片

3.位置参数:在帮助文件中参数名称被中括号括起来的参数。在完整文档中位置属性有整数值的参数。

看见有不写参数名称的,要明白怎么回事哈。例如,-LogName即是位置参数/

Powershell使用小技巧-需持续更新_第7张图片

Powershell使用小技巧-需持续更新_第8张图片

Powershell使用小技巧-需持续更新_第9张图片

 

位置参数使用时不指明参数名时,其位置要准确。否则会出错。指明参数名时,位置可以随意变动,还是上一个例子:

Powershell使用小技巧-需持续更新_第10张图片

 

 

 
 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(PowerShell)