批处理之家's Archiver

gflrlm 发表于 2020-1-4 22:57

在ps1脚本里面导入或者引用其他文件里面的共同function

在写powershell脚本的时候,经常会用到一些常用函数function,如果这些function比较多,就会导致你新写的脚本,比较长,比较杂。 所以可以从别的文件导入这些共同的function。

假设公共function方在[color=Red] D:\common_functions.ps1 [/color]里面, 代码如下[code]function escape_wildcards_to____string([string] $s) {
   $result = $s -replace '\[','___'
   $result = $result -replace '\]','___'
   $result = $result -replace '\*','___'
   $result = $result -replace '\?','___'
   $result = $result -replace '\/','___'
   $result = $result -replace '\\','___'
   $result = $result -replace '\:','___'
   return $result
}
function replace_to_dot_string([string] $s) {
   $result = $s -replace ':','.'
   $result = $result -replace '&','.'
   $result = $result -replace '\?','.'
   $result = $result -replace '/','.'
   return $result
}

function mkdir_if_exists([string] $s) {
  if(!(Test-Path $s)) {  
     mkdir $s
     Write-Host "mkdir -Path = "$s -ForegroundColor Yellow
  } else {
     Write-Host "mkdir -Path = "$s "already exists!" -ForegroundColor Green
  }
}[/code]然后,你在新的ps1脚本里,按照如下导入即可:[code]$self_filename=$MyInvocation.MyCommand.Name
$host.ui.RawUI.WindowTitle="$self_filename"
set-executionpolicy remotesigned

. "D:\common_functions.ps1"
[/code]

lililala6868 发表于 2020-8-15 17:35

**** 作者被禁止或删除 内容自动屏蔽 ****

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.