使用bat启动Powershell脚本

2024-01-12

我有一个批处理文件 test.bat 来启动 powershell 脚本:

@pushd "C:\myscripts"
powershell .\test.ps1 arg1 "arg2 with space" arg3
@popd

脚本 test.ps1(位于 C:\myscripts)是一个非常简单的脚本,如下所示:

# just print out the arguments
Write-Output ("args count: {0}" -f $args.length)
$args

然后我尝试启动test.bat。我应该将三个参数传递给 ps1,但我得到以下结果:

参数数量:5 精氨酸1 精氨酸2 和 空间 精氨酸3

我在脚本中所期望的,args[0] 应该是 arg1,args[1] 应该是“arg2 with space”,args3[2] 应该是 arg3。我不明白为什么脚本实际上有 5 个参数。

如何按照我的预期将参数从 cmd 或批处理传递到 powershell?像这样:

args count: 3
arg1
arg2 with space
arg3

powershell .\test.ps1 arg1 'arg2 with space' arg3

or

powershell .\test.ps1 arg1 """arg2 with space""" arg3

我认为你应该尽量避免使用双引号,因为 cmd 也已经使用了它们,因此很难预测 PowerShell 到底会得到什么。请记住,这会通过twoshell,因此有两层转义/引用。

PowerShell 本身并没有对单引号和双引号做出太多区分。至少在这种情况下,差异是无关紧要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用bat启动Powershell脚本 的相关文章

随机推荐

  • 如何检测用户何时关闭 Admob 中的插页式广告?

    我最近将广告移至新版本 现在使用 com google android gms ads 但我意识到我现在缺少一些非常重要的东西 我曾经能够使用 OnDismissScreen 检测用户何时关闭插页式广告 但现在看来这不再是一个选项 我曾经做
  • 通过套接字发送图像流问题 - Android

    我已经实现了一个应用程序 它使用 SP 相机拍照并通过套接字将其发送到服务器 我使用以下代码读取本地存储的图像文件 并通过套接字以连续的块形式发送它 FileInputStream fileInputStream new FileInput
  • 仅复制并粘贴值和格式 - Google 脚本

    我想仅复制和粘贴值和格式 而不是公式 E G A1是动态文本 A1 测试 A2 A1 我想使用一个脚本 激活时它将 A2 格式和文本复制到 A3 我尝试使用 formatOnly true contentsOnly true 但它不断复制公
  • 为什么 std::swap 被移至

    Why has std swap已移至
  • 在 pgAdmin (PostgreSQL) 中查看数据的简单方法

    我已经搜索这个问题一个多小时了 没有任何线索 在 Heidi SQL 用于 MySQL 中 我只需点击几下即可打开任何表来查看其数据 但在 pgAdmin 中 我必须折叠许多子文件夹才能做到这一点 database Schemas publ
  • ComponentDidUpdate SetState ReactJS无限循环

    尽管有很多具有相同主题的问题 但我无法得到我的问题的答案 Problem 我有一个选择下拉菜单 单击该按钮后 我会调用一个 Api 来获取一些关键值 我将这组键值输入字段视为一个组件 因此 每次选择下拉菜单的 onChange 时 我都会使
  • 如何在php中使用css样式

    我使用 php 显示来自 mysql 的数据 这是我的 CSS 语句
  • 在 Node.js 7 中抑制 UnhandledPromiseRejectionWarning 的正确方法是什么?

    在 Node js 中 我有一个仅包含一个函数的模块 该函数返回 Promise 并且该 Promise 可能会被拒绝 我仍然不想强迫该模块的所有用户明确处理拒绝 在某些情况下 根据设计 忽略返回的承诺是有意义的 另外 我不想剥夺模块用户处
  • 遗传算法/遗传编程解决方案有哪些好的例子? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 验证上下文始终为 NULL?

    我有自定义验证属性 如下所示 public class MyCustomAttribute ValidationAttribute protected override ValidationResult IsValid object val
  • 有没有办法在java应用程序中完全禁用RMI?

    在我们的应用程序中 远程过程调用是通过自己的基于 netty 的命令调度程序系统来解决的 我们有很多模块 大约 20 个 我想在单独的 jvm s 中运行所有模块 我的问题是 RMI 为每个 JVM 生成大约 17 个线程 我根本不需要 R
  • TailwindCSS:禁用的变体不起作用

    我正在尝试使用disabled顺风的变体 但它似乎不起作用 我不知道该怎么办 如果按钮被禁用 我想更改按钮外观 我已阅读文档 它说默认情况下未启用 禁用 变体 所以我修改了 tailwind config js 现在它看起来像这样 modu
  • 自动拉伸垂直列(div)

    检查这个fiddle http jsfiddle net Q7MFX 2 please 我想要以下内容 红色列有一些文本 黄色是动态内容 绿色没有任何内容 只是一种颜色 我希望红色和绿色列的高度与黄色内容一样高 height 100 没用
  • 在php中生成Excel文件时显示进度条

    我有一个 HTML 表单 当您通过单击按钮提交表单时 应用程序会使用 PHPExcel 生成一个 Excel 文件 一切正常 但是当 Excel 文件很大时 等待时间会很长 我想添加进度条或显示完成值的百分比 我的问题是我不知道如何将其插入
  • 基于堆栈的 RAII 是否保证仅在超出 C++ 范围后才能运行?

    使用时资源获取即初始化 RIAA http en wikipedia org wiki Resource Acquisition Is Initialization在 C 中 通常有以下内容 class CriticalSection pu
  • Camera2 Api..java.lang.IllegalArgumentException:Surface 没有有效的本机 Surface

    我尝试了很长时间将 Camera2 api 集成到我的应用程序中 它一开始捕获图像工作正常 但是当我第二次拍摄时 预览没有出现 我在 genymotion nexus 5 模拟器中测试了它 尝试了所有示例 预览是第二次不来拍照 也出现此错误
  • 从缓存中获取时完整性不正确

    跑步时yarn add dev jest I got 从缓存中获取时出现错误完整性错误 完整输出 tests master yarn add dev jest yarn add v1 19 0 info No lockfile found
  • 熔化 + strsplit,或与聚合相反

    我有一个小问题 在概念上似乎很简单 但我找不到方法 假设我有一个 data frame df2 其中一列列出了汽车品牌 另一列列出了每个品牌的所有型号 并用 分隔 我已经获得了 df2 聚合另一个名为 df1 的 data frame 主键
  • php json_encode 不转义新行

    我面临 json encode 的一些问题 当我 json encode 一个包含新行的数组时 它不会转义新行 而是删除 并保留 n ex array array name gt some text n r text results jso
  • 使用bat启动Powershell脚本

    我有一个批处理文件 test bat 来启动 powershell 脚本 pushd C myscripts powershell test ps1 arg1 arg2 with space arg3 popd 脚本 test ps1 位于