。net 执行 string cmd = string.Format("Remove-MobileDevice -Identity 'androidc287586998' -Confirm:$false");
报错 invoker error:找不到与参数名称“Confirm:$false”匹配的参数。
想知道点解( why )。。。
![]() | 1 abcbuzhiming 2022-01-12 16:50:49 +08:00 报错提示都给出了啊,它认不出你这个$false ,我看了一下,string.Format 似乎没有这种格式的匹配字符串,你是从哪里看来的代码? |
![]() | 2 ch2 2022-01-12 16:55:11 +08:00 查一下 string.Format 文档 |
![]() | 3 yefuchao 2022-01-12 16:55:21 +08:00 string cmd = string.Format("Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{0}",false); |
![]() | 4 camliar 2022-01-12 16:57:29 +08:00 string cmd = $"Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{false}"; |
5 yor1g 2022-01-12 16:58:20 +08:00 $"Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{false}" |
![]() | 6 xuanbg 2022-01-12 16:59:31 +08:00 可以这样把变量拼进字符串:string cmd = $"Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{变量}"; |
OP @yefuchao 还是一样呢 |
8 ThirdWorld OP @yor1g 还是一样 |
9 nulIptr 2022-01-12 17:23:38 +08:00 |
10 ThirdWorld OP @xuanbg 还是一样 |
11 ThirdWorld OP @camliar 还是一样 |
12 ThirdWorld OP @nulIptr 会跟。net 版本有关系吗。 |
![]() | 13 liuhan907 2022-01-12 17:25:30 +08:00 我想知道你这是在格式化啥,你这里没有任何格式串参数。另外你这个报错是 pwsh 给的又不是 C#。 |
14 ThirdWorld OP @liuhan907 一个安卓的设备啊,上面不是有一串 ID 吗 |
![]() | 15 liuhan907 2022-01-12 17:28:28 +08:00 我是说你调用这个方法目的。按你的调用方式不会产生任何效果,你最好去看一下 string.Format 的文档。 |
16 ThirdWorld OP @liuhan907 好的 |
17 MonoLogueChi 2022-01-12 17:38:30 +08:00 现在一个很关键的问题是,网友们咱们搞不懂你要做什么,建议把想要的字符串写出来,然后让网友们帮你来拼 |
![]() | 18 chendaye 2022-01-12 17:52:22 +08:00 Remove-MobileDevice 这是个命令行程序吗? 如果是的话应该是 Remove-MobileDevice 这个程序没有“Confirm:$false”这个参数 |
19 Mithril 2022-01-12 17:54:11 +08:00 你这就是个 string ,format 个啥。。。 |
20 ThirdWorld OP @mydebug 删除设备 id 命令 |
21 wangsyi13 2022-01-12 18:02:33 +08:00 看看 powershell 文档,先手动执行下这语句看看,确定没问题了再放进代码 这问题跟.net 关系不大 提示的意思是 Remove-MobileDevice 这个方法没有 Confirm:$false 这个参数,是不是传参语法不对,查 powershell 文档 |
![]() | 23 yefuchao 2022-01-12 18:05:10 +08:00 你先看看直接用 powershell 能不能把这个命令调用成功。这串字符串也没必要用 string.Format 。 |
![]() | 25 chendaye 2022-01-12 18:13:14 +08:00 |
![]() | 26 afirefish 2022-01-12 18:49:55 +08:00 |
![]() | 27 luzemin 2022-01-12 19:27:30 +08:00 与.NET C#的 String.Format 有毛关系,这个 PowerShell 命令执行有问题。 你把这个命令在 PowerShell 控制台执行一下试试,带着-WhatIf 参数避免真的执行 |
28 ThirdWorld OP @mydebug 试过的了 |
29 ThirdWorld OP @luzemin 控制台单独运行没毛病 |
![]() | 30 flyingyasin 2022-01-13 13:25:37 +08:00 C#的字符串里用$+var 会被转译成 var 的值吧 |
![]() | 31 RecursiveG 2022-01-13 14:38:24 +08:00 PowerShell 里 `-Confirm:$false` 是个特殊用法: https://stackoverflow.com/questions/8525572 看上去需要用`AddParameter`: https://stackoverflow.com/questions/29361629 |