zoukankan      html  css  js  c++  java
  • powershell学习

    PowerShell 调试器

    在开始运行处,输入powershell ISE回车即可

    PowerShell 与操作系统版本

    powershell在windows server 2008上自带,但最好在版本号为6.0.7600上使用,6.0.6001版本的server 2008自带的powershell缺少很多常用的功能

    PowerShell 比较运算符

    -eq          等于                   10 -eq 10                true
    -ne          不等于                 10 -ne 10                false
    -gt          大于                   10 -gt 10                false
    -ge          大于                   10 -ge 10                true
                 或等于
    -lt          小于                   10 -lt 10                false
    -le          小于或等于             10 -le 10                true
    

    PowerShell中命令的返回

    $java_process=get-process java
    

    以上命令会将进程中所有的java进程以System.Diagnostics.Process对象数组的方式返回,那么$java_process这个变量即为一个对象数组

    PowerShell 数组遍历

    $java_process=get-process java
    foreach($p in $java_process){
       echo $p.Id
    }
    

    以上命令的结果是打印出系统进程中所有java进程的进程id

    PowerShell 注释

    powershell以"#"号为单行注释,例如:

    # 定义i为0
    $i = 0
    

    多行注释如下

    <#
    用于多行注释
    #>
    $i = 0
    

    PowerShell 读取文件并返回以行为数组元素的数组

    # 读取C:1.txt内容并输出到D:1.txt,其中|管道符后的%代表遍历读取命令后的数组,$_代表每次遍历的值
    Get-Content "C:1.txt"|%{
    	echo $_>>D:1.txt
    }
    

    PowerShell 查找数组中最大最小值

    $list = 1,4,3,1,3,12,990
    
    $result = $list | Measure-Object -Minimum -Maximum
    $result.Minimum
    $result.Maximum
    

    还可以对日期类型的查找,但实验证明,只有高版本的powershell才支持日期类型

    $list = Get-ChildItem -Path C:windows 
    
    $result = $list | Measure-Object -Property LastWriteTime -Minimum -Maximum
    $result.Minimum
    $result.Maximum
    

    PowerShell创建文件文件夹

    new-item -path C: -name backup -type directory #创建目录
    new-item -path C: -name backup.txt -type file #创建文件
    

    PowerShell无声强行删除文件夹以及其下的子项

    remove-item C:data_old -force -recurse
    

    PowerShell创建windows任务计划

    #创建一个任务计划管理对象并获取任务计划根目录
    $service = new-object -com("Schedule.Service")
    $service.connect($env:COMPUTERNAME)
    $RootFolder = $service.getfolder("")
    
    #创建task对象
    $Task = $service.NewTask(0)
    #给task起个名字
    $RegInfo = $Task.RegistrationInfo
    $Reginfo.Description = "test"
    
    #设置任务不要立刻运行
    $Settings = $Task.Settings
    $Settings.StartWhenAvailable = $false 
    
    #为任务创建触发器(这里多说一句,要想让powershell做些管理windows的工作,就必须去读msdn的文档,对于我这种java党,学起来真费劲)
    #参考资料:http://msdn.microsoft.com/en-us/library/windows/desktop/aa383898(v=vs.85).aspx
    $Triggers = $Task.Triggers
    $Trigger = $Triggers.Create(3) #3指的是周任务
    
    #为任务设置有效期,以及每周 周几 几点 运行
    #下面的例子是有效期为2014-12-9 4点到2130-8-6 12点为有效期,每周6的4点开始运行任务
    $Starttime = "2014-12-09T04:00:00"
    $Endtime = "2130-08-06T12:00:00-05:00"
    $Trigger.StartBoundary = $Starttime
    $Trigger.EndBoundary = $Endtime
    $Trigger.DaysOfWeek=64 #64代表周6,具体http://msdn.microsoft.com/en-us/library/windows/desktop/aa384024(v=vs.85).aspx 
    $Trigger.WeeksInterval=1#设置为1代表每周
    
    #为任务创建运行程序
    #以下例子会在触发运行后,运行powershell -ExecutionPolicy RemoteSigned -noprofile -noninteractive -file backup.ps1这条命令
    $Action = $Task.Actions.Create(0)
    $Action.Path = "powershell" #要运行的程序,可以写路径
    $Action.Arguments ="-ExecutionPolicy RemoteSigned -noprofile -noninteractive -file backup.ps1" #powershell运行时的参数
    $Action.WorkingDirectory = "C:"#有些程序需要指定运行环境目录,例如这个例子中需要用powershell运行backup.ps1脚本,那么就要指定运行环境为C:下,否则会找不到
    
    #将任务写入
    $Rootfolder.RegisterTaskDefinition("起个名字", $Task,6,"你的用户名","你的密码",6)
    

    PowerShell逻辑运算

    Powershell 对象判空

    if(get-process java){
       #... ...
    }
    

    PowerShell 拷贝

    # 拷贝当前目录下所有文件到temp文件夹下,且不拷贝以SHQS开头和文件名中含有1的文件
    Copy-Item *.* .	emp -Exclude "SHQS*","*1*"
    
  • 相关阅读:
    [LeetCode] Implement Stack using Queues
    [LeetCode] String Compression
    [国嵌攻略][060][LCD工作原理解析]
    [国嵌攻略][059][2440-DMA程序设计]
    [国嵌攻略][057][串口控制台建立]
    [国嵌攻略][056][串口驱动程序设计]
    [国嵌攻略][054][NandFlash驱动设计_写]
    [问题笔记][指针相加翻译成汇编右移2位]
    [国嵌攻略][053][6410和210按键中断编程]
    [国嵌攻略][050][2440按键中断编程]
  • 原文地址:https://www.cnblogs.com/zzzhuxf/p/4152794.html
Copyright © 2011-2022 走看看