powershell如何编程C语言,如何在Windows批处理文件中运行PowerShell脚本

如何将Power

Shell脚本嵌入到与

Windows批处理脚本相同的文件中?

我知道这种事情在其他情况下是可能的:

>使用sqlcmd在批处理脚本中嵌入sql,并在文件开头巧妙安排goto和注释

>在具有程序名称的* nix环境中,您希望在脚本的第一行上运行脚本,注释掉,例如#!/usr/local / bin / python.

可能没有办法这样做 – 在这种情况下,我必须从启动脚本调用单独的PowerShell脚本.

我认为一个可能的解决方案是回显PowerShell脚本,然后运行它.不这样做的一个很好的理由是,尝试这一点的原因之一是利用PowerShell环境的优势,而不会受到诸如escape characters

我有一些不寻常的限制,并希望找到一个优雅的解决方案.我怀疑这个问题可能是诱饵的反应:“为什么不尝试和解决这个不同的问题.只要说这些是我的限制,对此就不好意思.

有任何想法吗?有没有一个巧妙的评论和转义字符的组合,这将使我能实现这一点?

关于如何实现这一点的一些想法:

>一行的结尾处的一个克拉是一个延续 – 就像Visual Basic中的一个下划线

>和号&通常用于分隔命令echo Hello&回声世界在两条回归线上分开

>%0将给你当前运行的脚本

所以这样的东西(如果我可以使它工作)将是好的:

# & call powershell -psconsolefile %0

# & goto :EOF

/* From here on in we're running nice juicy powershell code */

Write-Output "Hello World"

除…

>它不工作,因为

>文件的扩展不是按照PowerShell的喜好:Windows PowerShell控制台文件“insideout.bat”扩展名不是psc1. Windows PowerShell控制台文件扩展名必须是psc1.

> CMD并不完全满足于这种情况 – 尽管它在’#’上绊倒,但它不被识别为内部或外部命令,可操作的程序或批处理文件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值