使用$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下午
管理文件夹:
Get-ChildItem 列出路径中的所有目录
Test-Path 检查文件是否存在
New-Item 创建新的文件,可用参数-Path -ItemType -Name -Force
Get-Content 获取文件内容
Add-Content 添加内容到文件里
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
发送邮件:
注释:
#单行注释
<#这个可以多行注释#>
大字符串:
$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中别名还可以作为一种运行包含一堆参数的命令的快捷方式。
除了命令有昵称,参数也有昵称:不清楚可以自己设置参数的昵称不,试一下
1.简化参数名称:不输入完整的参数名称,也可以运行,比如有参数-ComputerName,-Common和-Composite三个参数。
这时可以用-Compu -Comm 和-Compo分别指代三个参数即可。熟练使用命令后这样是简便一些,但是多按几个Tab键也挺好。自动补充确认,然而别人写出这样的命令时,自己要知道是对的。
2.参数名别名:在帮助文件或方便查阅的地方不好查到,但是其确实有别名的。例如获取-ComputerName的别名
使用-ComputerName的别名-Cn,输入-cn Tab键会首字母填充变大。获取其他的参数别名参考上述命令。
3.位置参数:在帮助文件中参数名称被中括号括起来的参数。在完整文档中位置属性有整数值的参数。
看见有不写参数名称的,要明白怎么回事哈。例如,-LogName即是位置参数/
位置参数使用时不指明参数名时,其位置要准确。否则会出错。指明参数名时,位置可以随意变动,还是上一个例子: