ps提供了丰富的文件操作,如建立,删除,改名,移动,复制,文件夹建立,显示文件列表,同时对数组对象的遍历也很方便,如果在使用PS脚本时,希望现时传入参数,可以把参数声明为param,当然需要把它写在文件开头的位置。

下面是大叔在看完eshop项目后,写的几个测试代码,对它们进行了注释,方便大家学习。

Param([string] $rootPath) #输入参数
$scriptPath = Split-Path $script:MyInvocation.MyCommand.Path #当前应用程序目录Write-Host "Current script directory is $scriptPath" -ForegroundColor Yellow #定义字体颜色if ([string]::IsNullOrEmpty($rootPath)) { #如果变量为空,就为它赋值$rootPath = "$scriptPath\"
}Write-Host "Root path used is $rootPath" -ForegroundColor Yellow$projectPaths = @{Path="$rootPath\src\web";Prj="test.txt"},@{Path="$rootPath\src\api";Prj="test.txt"}$projectPaths | foreach {$projectPath = $_.Path$projectFile = $_.Prj$outPath = $_.Path + "\publish"$projectPathAndFile = "$projectPath\$projectFile"Write-Host "Deleting old publish files in $outPath" -ForegroundColor Yellowremove-item -path $outPath -Force -Recurse -ErrorAction SilentlyContinue #先删除先来的文件夹及内容Write-Host "Publishing $projectPathAndFile to $outPath" -ForegroundColor YellowNew-Item $outPath -type directory  -Force  #建立文件夹 Copy-Item $projectPathAndFile -Destination $outPath # 复制到指定位置# dotnet restore $projectPathAndFile# dotnet build $projectPathAndFile# dotnet publish $projectPathAndFile -o $outPath
}$test=1,2,3 #定义简单类型数组
$test | foreach{
Write-Host $_ #遍历每个元素
}$testObj=@{name="zzl";age=34},@{name="zhz";age=8} #定义一个对象数组
$testObj | foreach{
$name= $_.name #必须将它赋给一个变量,如果直接在字符串里使用,它将输出自己的类型
$age=$_.age
Write-Host "name=$name,age=$age"
}

上面代码会在E盘指定目录进行文件的复制,这类似于网站的发布机制,从一个地方复制到网站目录。

其中param要求我们在使用ps1文件时,提供一下参数,当然可以不传,我们代码里也有对它的赋值。

整个DEMO运行的结果如图

本文转自博客园张占岭(仓储大叔)的博客,原文链接:PowerShell~文件操作和对象遍历,如需转载请自行联系原博主。

PowerShell~文件操作和对象遍历相关推荐

  1. python目录遍历_python文件操作之目录遍历实例分析

    本文实例讲述了python文件操作之目录遍历的方法.分享给大家供大家参考.具体分析如下: Python的os模块,包含了普遍的操作系统功能,这里主要学习与路径相关的函数: os.listdir(dir ...

  2. 心得---字节流、文件操作、对象序列化

    1. 抽象基类InputStream.OutputStream,不能实例化.                                 •      InputStream类是基本的输入类.它定 ...

  3. python 文件操作 os.listdir() 遍历文件

    功能: 返回所给路径中所有文件(包含文件夹)的名称列表 doc: def listdir(*args, **kwargs): # real signature unknown""& ...

  4. python将字符串s和换行符写入文件fp_【python】文件操作

    本文内容包括: 文件的读写操作 文件的各种系统操作 存储对象 遍历文件 上代码: import os import os.path rootdir = "d:/code/su/data&qu ...

  5. modelsim读取文件中的数据_modelsim中的文件操作—— 大数据测试

    在modelsim中不可避免的需要进行文件操作,在窗口中查看代码的操作情况,下面是我自己M序列实验中的一段测试代码 integer i,j ,k,m; integer m_dataFILE , ind ...

  6. 13.python的文件操作

    #-*-coding:UTF-8-*- #python文件操作 #字符对象操作 import locale print locale.getpreferredencoding() #得到系统默认的编码 ...

  7. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  8. 1.4 File类(文件操作类)获取文件属性,创建和删除文件\目录,遍历目录

    在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成.File 类定义了一些方法来操作文件,如新 ...

  9. 读写应用程序数据-NSUserDefault、对象归档(NSKeyedArchiver)、文件操作

    ios中数据持久化存储方式一般有5种:NSUserDefault.对象归档(NSKeyedArchiver).文件操作.数据库存储(SQLite3).CoreData. 1.NSUserDefault ...

最新文章

  1. html.锁屏主题,锁屏HTML主题插件GroovyLock发布
  2. linux日志使用方法,Linux 日志终极指南
  3. python数据类型之元组类型
  4. 愿岁月可回首,从家族营销到Android开发
  5. TCP/IP 详解 卷一 协议 (第二版)翻译问题(第一周)2018
  6. 认定信息网络传播行为应采用服务器标准,认定信息网络传播行为应采用“服务器标准”...
  7. S7503E V7 snmpv3典型组网配置案例(与IMC联动)
  8. basys3芯片型号xc7a35tcpg236-1
  9. 中序遍历+后序/先序遍历构建二叉树
  10. python爬虫爬取豆瓣电影为啥内容有缺失-Python爬虫之抓取豆瓣影评数据
  11. Python库详解。python有那些库你都知道了嘛?
  12. ecplise 设置代码自动提示功能
  13. pwd python 安装 模块_python模块学习之OS、PWD
  14. eclips快捷键大全
  15. html的fa图标代码,font awesome
  16. .NET基础加强笔记
  17. RGCN - Modeling Relational Data with Graph Convolutional Networks 使用图卷积网络对关系数据进行建模 ESWC 2018
  18. 苹果6s解除耳机模式_苹果耳机戴着耳朵痛
  19. hdmi接口线_HDMI接口如何区分?
  20. Java异常捕获论文_一篇文章解决Java异常处理

热门文章

  1. 用python写个程序送给女朋友_如和用python给女朋友做个专属她的软件
  2. 华为 鸿蒙 升级,华为鸿蒙系统已陆续推送!安卓系统可无缝升级:升级包容量高达6GB...
  3. 电脑自带 超强系统文件自检 分享
  4. 各种数据结构性能的比较
  5. 译:Google的大规模集群管理工具Borg(二)------ Borg架构
  6. LRU最近最少使用缓存集合
  7. 无法在 Web 服务器上启动调试。调试失败,因为没有启用集成 Windows 身份验证。请...
  8. CImage与OpenCV兼容问题
  9. android中在代码中动态布按钮和画板局并绘制曲线
  10. asp.net发布网站的详细步骤