Powershell 初探

原创 2016年08月28日 19:54:09

最近从一名前端程序员转行到了数据库方面,并首次接触到了Power Shell这一工具
现在有这样的需求,在某个目录下有其他程序生成的dtsx文件,需要有选择地把它们拷贝到部署目录下面
需要拷贝的文件列表写在xml文件里
形式如下:

<batch>
    <add filepath="test.txt" virtualPath="PositionRisk" />
    <add filepath="test1.txt" virtualPath="PositionRisk" />
    <add filepath="test2.txt" virtualPath="PositionRisk" />
</batch>

filepath属性表示目录下文件名,virtualPath表示目标路径下的子文件夹
完整代码如下

$scriptPath=$MyInvocation.MyCommand.Definition | split-path;
$rootPath ="$scriptPath.\..\..\" | convert-path
$deployConfigPath="$scriptPath.\deployment.config"
$deployPath = "C:\Users\likaiboy\Desktop\des\etl\PositionRisk"

if(test-path $deployPath){
    remove-item $deployPath -Force -Recurse
}

new-item -path "C:\Users\likaiboy\Desktop\des\etl" -name "PositionRisk" -type directory


$doc=new-object System.xml.XmlDocument 
$doc.load($deployConfigPath) 
$root=$doc.DocumentElement 
$fileNodes=$root.SelectNodes("//add")

function CopyFile($item, $desPath){
copy-item -Path $item -Destination $desPath
}


for($i=0 ;$i -lt $fileNodes.Count ;$i++){
    $fileName = $fileNodes.item($i).filepath
    $filePath = "$rootPath\install\PositionRisk\$fileName"

    $virtualPathAttr =$fileNodes.item($i).virtualPath
    $virtualPath = "C:\Users\likaiboy\Desktop\des\etl\$virtualPathAttr"

    if( (test-path $filePath) -and (test-path $virtualPath)){
        CopyFile $filePath $virtualPath
    }else{
        "source file do not exists"
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

在PowerShell中操作Excel - 创建一个简单的报表

转自原文: http://blog.vichamp.com/powershell/office/2013/09/19/integrating-microsoft-excel-with-powershe...
  • kwgjbj
  • kwgjbj
  • 2014年02月17日 21:38
  • 2607

powershell远程管理服务器磁盘空间

用powershell做自动化运维
  • Shiney927
  • Shiney927
  • 2015年07月22日 16:56
  • 1226

Windows PowerShell基本语法及常用命令

PowerShell常用命令: 一 Get类 1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令...
  • Mr_Pang
  • Mr_Pang
  • 2016年01月23日 23:15
  • 15444

PowerShell网页自动化

$ie = new-object -com "InternetExplorer.Application" $ie.Navigate("www.115.com") $ie.Visible=$true
  • Haven200
  • Haven200
  • 2013年10月09日 17:29
  • 2014

PowerShell 查询操作

【搜索列表中的关键字】 ipconfig | Select-String "IP" #查询进程qq的详细信息 Get-Process qq Get-Process qq | format-list...
  • kk185800961
  • kk185800961
  • 2015年10月01日 04:40
  • 1487

Powershell 工作流实战(1)

假如说我们要写个powershell脚本,功能是找出禁用的账号,找出过期的账号,找出密码永不过期的账号,则可以运行以下三条语句即可。 Search-ADAccount -AccountDisable...
  • melodytu
  • melodytu
  • 2016年02月25日 11:17
  • 460

PowerShell 工作流实战1

语法 workflow { ... } 例子1: 是不是觉得和function有点像呢? 关键字 和workflow相关的关键字有如下: ...
  • melodytu
  • melodytu
  • 2016年02月24日 22:39
  • 373

查找并调用PowerShell历史记录中的命令行

我们通常会在Console界面中运行多次命令或者命令行,很多人会使用键盘的上下键来翻动之前使用的命令,但是当我们敲过运行的命令次数越多那么即便你去使用上下键去翻页查找之前使用的命令也依然会显得不是那么...
  • itanders
  • itanders
  • 2016年05月08日 10:21
  • 846

powershell脚本配置jdk环境变量

写这篇文章时,能想到原来多苦逼的自己~~ 特别是那时,JAVA初学者往往刚开始用的是Myeclipse这种自动集成化的工具,用过这编译器的同学应该清楚,在这我就不再次吐槽了~ 往往大家第一配置JD...
  • u013319263
  • u013319263
  • 2014年11月30日 00:00
  • 698

禁用了PowerShell又如何?看我如何用PowerShell绕过应用白名单、环境限制、以及杀毒软件

温故而知新 在之前的文章中,我们讨论了如何通过Casey Smith(@ subTee)设计出的方法来绕过反病毒软件和应用白名单。这一次,我们的测试条件将变得更为苛刻。用于测试的目标系统中不...
  • qq_27446553
  • qq_27446553
  • 2016年09月03日 23:37
  • 608
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Powershell 初探
举报原因:
原因补充:

(最多只允许输入30个字)