.net 大神请进 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ThirdWorld
V2EX    程序员

.net 大神请进

  •  
  •   ThirdWorld 2022-01-12 16:43:45 +08:00 3242 次点击
    这是一个创建于 1370 天前的主题,其中的信息可能已经有所发展或是发生改变。

    。net 执行 string cmd = string.Format("Remove-MobileDevice -Identity 'androidc287586998' -Confirm:$false");

    报错 invoker error:找不到与参数名称“Confirm:$false”匹配的参数。

    想知道点解( why )。。。

    31 条回复    2022-01-13 14:38:24 +08:00
    abcbuzhiming
        1
    abcbuzhiming  
       2022-01-12 16:50:49 +08:00
    报错提示都给出了啊,它认不出你这个$false ,我看了一下,string.Format 似乎没有这种格式的匹配字符串,你是从哪里看来的代码?
    ch2
        2
    ch2  
       2022-01-12 16:55:11 +08:00
    查一下 string.Format 文档
    yefuchao
        3
    yefuchao  
       2022-01-12 16:55:21 +08:00
    string cmd = string.Format("Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{0}",false);
    camliar
        4
    camliar  
       2022-01-12 16:57:29 +08:00
    string cmd = $"Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{false}";
    yor1g
        5
    yor1g  
       2022-01-12 16:58:20 +08:00
    $"Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{false}"
    xuanbg
        6
    xuanbg  
       2022-01-12 16:59:31 +08:00
    可以这样把变量拼进字符串:string cmd = $"Remove-MobileDevice -Identity 'androidc287586998' -Confirm:{变量}";
    ThirdWorld     7
    ThirdWorld  
    OP
       2022-01-12 17:23:19 +08:00
    @yefuchao 还是一样呢
    ThirdWorld
        8
    ThirdWorld  
    OP
       2022-01-12 17:23:36 +08:00
    @yor1g 还是一样
    nulIptr
        9
    nulIptr  
       2022-01-12 17:23:38 +08:00
    ThirdWorld
        10
    ThirdWorld  
    OP
       2022-01-12 17:23:50 +08:00
    @xuanbg 还是一样
    ThirdWorld
        11
    ThirdWorld  
    OP
       2022-01-12 17:24:16 +08:00
    @camliar 还是一样
    ThirdWorld
        12
    ThirdWorld  
    OP
       2022-01-12 17:24:56 +08:00
    @nulIptr 会跟。net 版本有关系吗。
    liuhan907
        13
    liuhan907  
       2022-01-12 17:25:30 +08:00
    我想知道你这是在格式化啥,你这里没有任何格式串参数。另外你这个报错是 pwsh 给的又不是 C#。
    ThirdWorld
        14
    ThirdWorld  
    OP
       2022-01-12 17:26:49 +08:00
    @liuhan907 一个安卓的设备啊,上面不是有一串 ID 吗
    liuhan907
        15
    liuhan907  
       2022-01-12 17:28:28 +08:00
    我是说你调用这个方法目的。按你的调用方式不会产生任何效果,你最好去看一下 string.Format 的文档。
    ThirdWorld
        16
    ThirdWorld  
    OP
       2022-01-12 17:35:28 +08:00
    @liuhan907 好的
    MonoLogueChi
        17
    MonoLogueChi  
       2022-01-12 17:38:30 +08:00
    现在一个很关键的问题是,网友们咱们搞不懂你要做什么,建议把想要的字符串写出来,然后让网友们帮你来拼
    chendaye
        18
    chendaye  
       2022-01-12 17:52:22 +08:00
    Remove-MobileDevice 这是个命令行程序吗?
    如果是的话应该是 Remove-MobileDevice 这个程序没有“Confirm:$false”这个参数
    Mithril
        19
    Mithril  
       2022-01-12 17:54:11 +08:00
    你这就是个 string ,format 个啥。。。
    ThirdWorld
        20
    ThirdWorld  
    OP
       2022-01-12 17:54:16 +08:00
    @mydebug 删除设备 id 命令
    wangsyi13
        21
    wangsyi13  
       2022-01-12 18:02:33 +08:00
    看看 powershell 文档,先手动执行下这语句看看,确定没问题了再放进代码
    这问题跟.net 关系不大
    提示的意思是 Remove-MobileDevice 这个方法没有 Confirm:$false 这个参数,是不是传参语法不对,查 powershell 文档
    wangsyi13
        22
    wangsyi13  
       2022-01-12 18:03:05 +08:00
    @wangsyi13 为什么前面参数是空格,后面参数用的冒号,都支持么?
    yefuchao
        23
    yefuchao  
       2022-01-12 18:05:10 +08:00
    你先看看直接用 powershell 能不能把这个命令调用成功。这串字符串也没必要用 string.Format 。
    wangsyi13
        24
    wangsyi13  
       2022-01-12 18:05:16 +08:00
    @wangsyi13 还有 string.Format 干啥的,就一个完整字符串
    chendaye
        25
    chendaye  
       2022-01-12 18:13:14 +08:00
    @ThirdWorld
    string cmd = "Remove-MobileDevice -Identity androidc287586998 -Confirm:$false";
    用这个试试看
    afirefish
        26
    afirefish  
       2022-01-12 18:49:55 +08:00
    luzemin
        27
    luzemin  
       2022-01-12 19:27:30 +08:00
    与.NET C#的 String.Format 有毛关系,这个 PowerShell 命令执行有问题。
    你把这个命令在 PowerShell 控制台执行一下试试,带着-WhatIf 参数避免真的执行
    ThirdWorld
        28
    ThirdWorld  
    OP
       2022-01-13 09:58:18 +08:00
    @mydebug 试过的了
    ThirdWorld
        29
    ThirdWorld  
    OP
       2022-01-13 09:58:42 +08:00
    @luzemin 控制台单独运行没毛病
    flyingyasin
        30
    flyingyasin  
       2022-01-13 13:25:37 +08:00
    C#的字符串里用$+var 会被转译成 var 的值吧
    RecursiveG
        31
    RecursiveG  
       2022-01-13 14:38:24 +08:00
    PowerShell 里 `-Confirm:$false` 是个特殊用法: https://stackoverflow.com/questions/8525572
    看上去需要用`AddParameter`: https://stackoverflow.com/questions/29361629
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3108 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 12:35 PVG 20:35 LAX 05:35 JFK 08:35
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86