。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:{变量}";
|
7
ThirdWorld 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
mydebug 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
mydebug 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 |