powershell - 如何使用 Powershell 启动进程 [System.Diagnostics.Process]::Start with more the one parameter
问题描述
当我在 PS 中启动一个进程时:
这工作正常。
[System.Diagnostics.Process]::Start("myprog.exe", "$param1 $param2 /run /SilentMode")
但如果$param2
有空格,它将在第一个单词处被截断。Myprog.exe 将在 SQL 表中插入作为参数传递的 2 个字符串。
所以这很好用:
$param1 = "param1string"
$param2 = "param2string"
[System.Diagnostics.Process]::Start("myprog.exe", "$param1 $param2 /run /SilentMode")
但这里不是。我将只有第二个参数的第一个单词放在桌子上。
$param1 = "param1string"
$param2 = "param2 string string"
[System.Diagnostics.Process]::Start("myprog.exe", "$param1 $param2 /run /SilentMode")
我怎样才能解决这个问题?
解决方案
双引号的正确方法是:
$param1 = "param1string"
$param2 = "`"param2 string string`""
[System.Diagnostics.Process]::Start("myprog.exe", "$param1 $param2 /run /SilentMode")
这个对我有用!
推荐阅读
- php - 在非 wordpress 目录下的页面中包含 Wordpress 标题
- javascript - JS:存储在本地存储中的数组中的多个对象
- java - 即使在注册子类型之后,尝试解析子类型 Jackson ION 反序列化时也缺少类型 ID
- python - ImportError:安装 Pusher 后无法导入名称 certificate_transparency
- c - GNU Make:检测 Xcode
- linq - 使用 Linq,如何在两个表之间没有外键关系的情况下连接两个表?
- python - Pandas - 过滤列至少匹配一次的行
- javascript - Spinning Wheel - 即使旋转停止,动画功能也会继续运行
- mysql - mysqldump前后对比新软件验证过程中的数据库内容
- javascript - 在另一个函数中从 Frisby POST 检索 JSON 响应