PowerShell脚本源码输出到文件的最佳写法

(编辑:jimmy 日期: 2024/9/21 浏览:2)

我以前都是把脚本片段放在字符串中,多行字符串叫here-string,比如:
复制代码 代码如下:$code=@"
Invoke-WebRequest
Get-Service -Name AdobeARMservice
"@
缺点有二:

假如我这个$code字符串很长,执行时出错了,我想排错,但因为它是字符串,在ISE中不能高亮显示,不方便。所以,我估计得把这个字符串中的脚本单独拿出来,放在另外一个ise窗口中仔细辨认一番。
$code中的字符串定义了一些变量,我不想这些变量自动解析成值。那我就得最外面用单引号,如果字符串里面恰好也大量使用了单引号,估计反引号(转义字符)又得泛滥了。
今天分享的不是母鸡中的战斗机,而是母鸡中的柴可夫斯基:神奇的大括号。
复制代码 代码如下:
{
Invoke-WebRequest 'https://www.jb51.net'
Get-Service -Name AdobeARMservice
$name='Mosser Lee'
} | Out-File 'my.ps1'
上面的脚本能在ISE中高亮显示,并且执行后,大括号中的源脚本,干干净净,原汁原味地保存到了脚本文件中。

文章出处:http://www.pstips.net/output-source-scripts-to-file.html

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。