|
1
17
这一个只将正确的行传递给PowerShell:
这个
regular expression
不包括以开头的行
|
|
|
2
10
听起来你在寻找一个有时被称为“多语脚本”的东西。对于cmd->PowerShell,
如果不需要支持引用的参数,甚至可以将其设置为一行:
取自 http://blogs.msdn.com/jaybaz_ms/archive/2007/04/26/powershell-polyglot.aspx . 那是PowerShellv1;在v2中可能更简单,但我还没有找到。 |
|
3
3
如果一开始不介意PowerShell中的一个错误,这似乎可以工作:
|
|
4
3
Here 这个话题已经讨论过了。主要目标是避免使用临时文件来减少缓慢的IO操作,并且在没有冗余输出的情况下运行脚本。 我认为最好的解决方案是:
编辑 (更好的方式 here )
在哪里?
诀窍在于批重定向优先级-这一行
唯一剩下的就是找到一个合适的方法让PowerShell读取和执行
|
|
|
5
2
也考虑 this "polyglot" wrapper script 哪一个 支持嵌入式PowerShell和/或vbscript/jscript-cod 它改编自 this ingenious original 作者本人, flabdablet ,于2013年发布,但由于是2015年删除的仅链接的答案而变得毫无生气。 改进的解决方案 Kyle's excellent answer :
注:临时
演示 参数传递的鲁棒性 :
假设上述代码已另存为
生成如下内容:
注意如何
嵌入的
这些困难是由于
正如他解释的那样,
逃避以下
使用上面的示例:
|
|
|
6
1
如果不完全理解您的问题,我的建议如下:
还是更好
|
|
|
7
1
这支持与Carlos发布的解决方案不同的参数,并且不会中断多行命令或使用
|
|
|
8
1
我当前对此任务的首选项是polyglot头,其工作方式与 mklement0's first solution :
出于多种原因,我更喜欢将cmd头放在多行中,每行只有一个命令。首先,我认为更容易看到发生了什么:命令行足够短,不会从我的编辑窗口的右边跑掉,左边的标点栏将它直观地标记为标题栏,第一行被严重滥用的标签上说它是标题栏。第二,
我更喜欢临时的解决方案
生成临时文件所需的时间通常完全被PowerShell自己投入运行所占用的时间所淹没,价值128位
显然,对PowerShell来说,不那么简单地分析它在脚本文件中接受的文件扩展名就不那么烦人了,但是你要与你拥有的shell而不是你希望拥有的shell开战。 说到这里:正如Mklement0所观察到的,
这确实打破了,因为
第一和第三
在大多数实际应用中,
别让我开始
|
|
|
9
0
另一个示例批处理+PowerShell脚本…它比其他建议的解决方案简单,并且具有任何一个都无法匹配的特性:
此示例显示语言转换,PowerShell端显示从批处理端接收的参数列表。
请注意,我使用:作为批处理注释,而不是像大多数其他人那样使用::,因为这实际上使它们看起来像PowerShell注释。(或者实际上像大多数其他脚本语言的注释一样。) |
|
Jeff · 如何将包含(内部)引号的变量传递给函数/标签? 1 年前 |
|
|
Igor Popov · 选项-不需要类 2 年前 |
|
|
Melani · cmd-bat变量中的变量 2 年前 |
|
ProCoder2040 · 如何使批处理文件要求用户输入?复制 2 年前 |
|
|
OFNEILL · 尝试在C中启动Tunnelbear.exe# 2 年前 |
|
|
Aaron B · 从CMD中查找任务管理器描述列? 2 年前 |