使用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脚本 的相关文章

  • cmd中哪个符号是转义符?

    我有这个代码 powershell command New Object Net WebClient DownloadFile linkToMyFile file C my file 它用于下载文件 当我在远程服务器上的 cmd 中执行它时
  • Winform 启动后隐藏或最小化 powershell 提示符

    我编写了一个简单的 powershell 脚本来启动 winform 在 powershell 脚本中编写的 Winform 代码 例如 showContent ps1 文件 并显示一些内容 我需要在Winform启动后隐藏powershe
  • nuget 对文件名中的空格进行编码

    我使用 pack 命令创建了一个 nuget 包 http docs nuget org docs reference command line reference Pack Command http docs nuget org docs
  • PowerShell:如何在名称为“*”(星号/星号)的文件/文件夹上创建选择器?

    我需要从 PS 修改注册表 此注册表项与特定文件 所有扩展的文件夹 的上下文菜单相关 HKEY CURRENT USER Software Classes 目前我想将项目添加到此路径 HKCU Software classes shell
  • 使用 PowerShell 批量复制和重命名文件

    我正在尝试使用 PowerShell 批量复制和重命名文件 原始文件名为AAA001A jpg AAB002A jpg AAB003A jpg等 我想用新名称复制文件 方法是从文件名中删除前四个字符以及句点之前的字符 以便复制的文件被命名为
  • PowerShell 输出在函数之间交叉

    我正在 Windows 10 上的 5 1 版本中编写一个 PowerShell 脚本 该脚本获取有关本地系统 以及最终其子网 的某些信息并将其输出到文本文件中 起初 我将所有方面都集中在一个函数中 我在输出时遇到了输出问题getUsers
  • 隐藏powershell输出

    我有以下脚本 param 参数 强制 true 字符串 dest New Item force path dest 1 itemtype directory New Item force path dest 2 itemtype direc
  • 使用 PowerShell 修改 Visual Studio 解决方案和项目文件

    我们目前正在重新组织源代码 将内容移动到新目录中 结构 这会影响我们的 Visual Studio 解决方案和项目文件 其中诸如程序集引用 可能的输出目录 构建前和构建后事件等 必须更新以反映我们的更改 由于我们有许多解决方案和项目 我希望
  • 防止集成终端自动打开

    每当我在 VS Code 中打开 PowerShell 脚本时 集成终端就会打开 如何防止集成终端自动打开 我搜索了 终端 的设置 但没有发现与自动启动相关的内容 VSCode 会记住您的上一次会话 因此 如果关闭终端并退出 VSCode
  • 拖放到 Powershell 脚本

    我以为我已经找到了这个问题的答案 但我玩得越多 我就越发现它是 Powershell 的设计缺陷 我想拖放 或使用发送到机制 将多个文件和 或文件夹作为数组传递到 Powershell 脚本 测试脚本 Test ps1 param stri
  • 为管道重用自定义对象时出现意外结果

    A while ago I changed my Join Object https stackoverflow com a 45483110 1701026 cmdlet which appeared to cause a bug whi
  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • 如何在 PowerShell 中将长命令拆分为多行

    如何在 PowerShell 中获取如下所示的命令并将其拆分为多行 C Program Files IIS Microsoft Web Deploy msdeploy exe verb sync source contentPath c w
  • Powershell 命令未发现异常

    我有以下 powershell 脚本 它使用一个函数并且可以在 ISE 中正常运行 Get ComputerSessions Computer localhost Functions Function Get ComputerSession
  • PowerShell(2.0,32 位)无法加载 TFS 2010 管理单元...除非可以

    我有一个与 Team Foundation Server 交互的 PowerShell 脚本 当我在 PowerShell 控制台中运行它时 它运行得很好 这对于测试它来说很好 但我想通过双击它或批处理文件或其他东西来运行它 我什至选择右键
  • 如何忽略警告错误?

    我有以下 PowerShell 脚本 它获取给定 IP 地址内计算机的 NetBIOS 名称 我正在使用管道将结果转储到文本文件中 问题是 如果 IP 地址不可用 则会打印警告 这是 PowerShell 脚本 function Get C
  • 具有相关动态参数的 PowerShell 函数

    我试图定义一个函数 其中动态参数相互依赖 例如 我可能有 1 个参数和两个动态参数 rootPath 驱动器盘符 rootPathItem 第一个文件夹 在驱动器盘符内 rootPathChildItem 第二个文件夹 第一个之内 问题是
  • 使用 powershell 编辑 XML

    好吧 我感觉自己像个大白痴 为了工作中的管理目的 我使用 Powershell 已经有一段时间了 也就是说 编写脚本不是我的强项 现在 我正在尝试编写一个 PS 脚本 将一个部分添加到一堆机器上的 XML 中 以添加设置来解决我们在某个应用
  • 使用 powershell 版本 2 查询 AD

    我们有由 Windows 7 和 Windows 10 组成的混合桌面操作系统 我有一个登录脚本 该脚本从每次用户登录时运行的 powershell 脚本收集各种信息 Windows 7 powershell 仅是版本 2 这意味着我无法使
  • 抑制数组列表添加方法管道输出

    我正在使用数组列表来构建日志项序列以供稍后记录 工作起来很不错 但是 Add 方法将当前索引发送到管道 我可以通过将其发送到 null 来解决这个问题 如下所示 strings Add junk gt null 但我想知道是否有某种机制可以

随机推荐

  • 如何检测用户何时关闭 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 位于