Powershell脚本中包含文件资源的例子

Powershell3.0及以后版本。
如果你的脚本需要添加额外资源,比如文本中的服务器名、图片名等等,这时你需要考虑脚本的灵活性。
不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路径(不支持2.0)

代码如下:

$picture = "$PSScriptRoot\Resources\picture.png"
Test-Path -Path $picture
 
$data = "$PSScriptRoot\Resources\somedata.txt"
Get-Content -Path $data

$PSScriptRoot总是可以获得你脚本运行所在目录名,当然你可能会发现它在执行时为空,这时你只需要将它保存到脚本中执行即可。

(0)

相关推荐

  • Powershell脚本中包含文件资源的例子

    Powershell3.0及以后版本. 如果你的脚本需要添加额外资源,比如文本中的服务器名.图片名等等,这时你需要考虑脚本的灵活性. 不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路径(不支持2.0) 复制代码 代码如下: $picture = "$PSScriptRoot\Resources\picture.png" Test-Path -Path $picture   $data = "$PSScriptR

  • PowerShell 脚本中的密码保存的方法

    引言 笔者在<PowerShell 远程执行任务>一文中提到了在脚本中使用用户名和密码的基本方式: $Username = 'xxxx' $Password = 'yyyy' $Pass = ConvertTo-SecureString $Password -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$Pass 上面的代码仅仅是能

  • PowerShell脚本写的文件.ps1文件介绍

    .ps1文件是PowerShell写好的脚本文件.在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是".ps1"文件? 这个是PowerShell写的脚本文本,你可以在记事本中写一段PowerShell代码,然后将其保存为"xxx.ps1",后面要使用它的时候,双击即可运行了.这有点像批处理的".bat"文件,也有点像VBScript的".vbs"文件.这些都是Wi

  • Powershell脚本中使用条件断点实例

    适用于PowerShell 3.0或者更高版本! PowerShell ISE只支持行断点:它可以让脚本运行至特定的调试行:你可以按F9来添加或者移除断点.但是需要保证该脚本已经保存过(默认的无标题文件可能就不行). 还有一种更加高级的方法:动态断点或者说是条件断点,其中没有特别限定某行,而是限定于一种特定的场景.比如下面的的示例脚本,每当PowerShell给指定的变量赋值时,就会击中断点停下来: 复制代码 代码如下: $bp = Set-PSBreakpoint -Variable a -M

  • PowerShell命令中包含空格如何运行?

    在PowerShell中,可以直接运行命令.包括.exe结尾的..com结尾的可执行程序,包括.bat结尾的..cmd结尾的批处理程序,还有.vbs结尾的..ps1结尾的脚本程序.均可以使用如下方式运行程序: <程序文件名>.<后缀> [参数列表] 但是请注意,这里的<程序文件名>其实是指的一个路径,可以是相对的,也可以是绝对的.当我们使用绝对路径的时候,会遇到路径中带空格的情况,像上面那种去执行它,就会报错了. 那么,如何运行带空格的命令呢? 答案是用引号!双引号.单

  • PowerShell脚本中控制Windows DNS服务的方法

    PowerShell可以很方便的操作WMI,而DNS服务又提供了很好的WMI支持,所以,PowerShell可以通过操作WMI来操作Windows DNS服务. 1.获取DNS对象. 复制代码 代码如下: PS> $mydns = [WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord" 2.创建解析记录,使用CreateInstanceFromTextRepresentation方法. 复制代码 代码如下: PS>

  • PHP脚本中include文件出错解决方法

    1. 出现"未找到文件"类似的错误时候,检查include文件的位置是否正确,下面引用php手册页面的原话: Files for including are first looked in include_path relative to the current working directory and then in the directory of the current script. E.g. if your include_path is libraries, curren

  • PowerShell脚本中查看网卡的高级属性

    复制代码 代码如下: PS>  Get-NetAdapterBinding  -Name 以太网 | Get-NetAdapterAdvancedProperty Name   DisplayName              DisplayValue        RegistryKeyword            RegistryValue ----   -----------              ------------        ---------------        

  • 使用HTTP api简单的远程执行PowerShell脚本

    可能有些情况下,你不想完全体验通过PSRP(PowerShell远程处理协议)远程管理,或有需要从非Windows系统上执行一些PowerShell脚本.你可能会像我很久之前在这篇文章中写的那样直接基于WS-Man来写代码.但是那样很复杂,并且需要WS-Man和SOAP的一些知识. 我在PowerShell脚本中使用.Net HttpListener类写了个HTTP监听器.你可以非常简单地启动一个监听器的实例(需要提升权限监听网络),现在你可以执行任意的PowerShell命令了,它还可以返回多

  • 在cmd中直接运行PowerShell脚本文件的方法

    以前在cmd中执行powershell,我们都是这样: 复制代码 代码如下: PowerShell.exe -file a.ps1 现在想在cmd中这样执行: 复制代码 代码如下: a.ps1 此时需要将Powershell脚本的默认打开方式选择为Powershell.exe,可以鼠标右键操作. 也可以使用下面的cmd以管理员权限打开,然后运行命令: 复制代码 代码如下: ftype Microsoft.Powershellscript.1="%SystemRoot%\system32\wind

随机推荐