【问题标题】:automatically have script input yes at windows cmd yes/no prompt在 Windows cmd 是/否提示下自动有脚本输入是
【发布时间】:2014-06-25 18:12:37
【问题描述】:

我有兴趣能够在Yes/No 提示符处自动让我的cmd 输入Yes

                                       __
                                     .d$$b
                                   .' TO$;\
                                  /  : TP._;
                                 / .;  :Tb/
                                /   /   ;j$j
                            _.-"       d$$$$
                          .' ..       d$$$$;
                         /  /P'      d$$$$P. \\
                        /   "      .d$$$P' \\^"l
                      .'           `T$P"""""  :
                  ._.'      _.'                ;
               `-.-".-'-' ._.       _.-"    .-"
             `.-" _____  ._              .-"
            -(.g$$$$$$$b.              .'
              ""^T$$$P)            .(:
                _/  -"  /.'         /:/;
             ._.'-'`-'  ")/         /;/;
          `-.-"..--""   " /         /  ;
         .-" ..--""        -'          :
         ..--""--.-"         (\      .-(\
           ..--""              `-\(\/;`
             _.                      :
    .................................................__________...
    .... _________________________________________ ./           \\
    .___/             /..I        /_/   _____   I_ I   _______   II
    .__/ ____       //...I   ____/  I  I.....I II..I  /...II...\ II
    ../_____/      //....I   II ....I  I_____I II..I   ___II___  II
    ......./      //.....I   I____..I       ___II..I  I___II___I II
    ....../      //......I    ___/..I   I\   \\ ...I   ...II...  II
    ...../      //.......I   II ....I   I.\   \\ ..I   ...II...  II
    ..../      //_______ I   I______I_  I..\   \\ .I  \___II___/ II
    .../  ____________ /_I           /  I__.\   \\ I             II
    __/_______________/.\___________/_____/..\___\\\____________//

c:\>disablewinremotedesktop
Delete the registry value fDenyTSConnections (Yes/No)?

我有一个很长的 .cmd 文件,其中包含大量 DOSKEYs 列表,我一直在制作以加快我的计算机任务,并且我添加了一些我知道将来会很有用的命令,基于我在空闲时间一直在阅读这本注册表。

命令格式如下:

DOSKEY disablewinremotedesktop = REG DELETE "HKLM\SYSTEM\CurrentControlSet\Control\Terminal  Server" /v "fDenyTSConnections" 
$T
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /t REG_DWORD /d 1

在这个.cmd文件中,我在开头和结尾都使用了@echo off,为了让ASCII art picture我非常喜欢。

请帮我自动化这个过程!

【问题讨论】:

    标签: windows cmd automation registry prompt


    【解决方案1】:

    您可以使用如下内容创建一个 Yes.bat 文件:

    @echo off
    for /L %%X in (1,1,77) do echo Yes
    

    (将 77 替换为足够大的数字)

    然后运行

    Yes.bat | YourCommand.bat
    

    Yes.bat 命令输出的 Yes 数似乎比 YourCommand.bat 所需的多。在 Windows 7 上,它们似乎被默默地丢弃了......

    以上内容仅适用于批处理文件,并且正如您所指出的,不能解决您的问题。

    您的 doskey 宏不能在批处理文件中使用,而且似乎不能在管道的末尾,所以

    Yes.bat | yourDOSKeyMacro
    

    只是失败了。

    对于您的问题,我想不出一个通用的答案,但提示来自宏的 REG DELETE 部分。您可以使用 /f(强制)选项摆脱此提示:

    REG DELETE "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /f

    我认为这可能会帮助您完成大部分工作。

    【讨论】:

    • 我真的在寻找一种方法来避免在没有批处理文件的情况下这样做。因为我想要这一切都在一个 .cmd 文件中。有没有办法回显或管道( 或 | )是进入 Doskey?更重要的是,您的解决方案不起作用。这些字符串都没有真正通过提示符。
    • 我应该更彻底地阅读有关 reg /? 的手册。谢谢!
    【解决方案2】:

    当我这样做时:

        C:\Windows\system32>echo y | del %USERPROFILE%\Desktop\tt
    

    我明白了:

        C:\Users\qwerp\Desktop\tt\*, Are you sure (Y/N)? y
    
        C:\Windows\system32>
    

    这就是你要找的吗?

    只需像这样将“y”回显到您的代码中:

    回声 y | [你编码]

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 2010-09-18
      • 2012-05-18
      • 2018-10-27
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多