none
set /p 変数= にて、入力のみで(Enterなし)実行する方法、お知恵拝借 RRS feed

  • Pregunta

  • 次の書式(入力待ち画面)で、指定の文字入力後Enterキーを押さなくても、
    実行コマンドに移る方法をご紹介下さい。
    よろしくお願いします。

    ---ここから----------------------------------

    @echo off
    :Menu
    cls
    echo.
    echo.
    echo.
    echo          【1】_websiteへ
    echo          【X】_編集  
    echo          【Q】_終了
    ::--------------------
       set Slt=nul
       set /p Slt=入力:
      IF NOT '%Slt%'=='' SET turu=%Slt:~0,2%
    ::--------------------  
       if '%Slt%'=='1' goto Set_1
       if '%Slt%'=='x' goto Set_x
       if /i '%Slt%'=='q' goto Set_q
    goto Menu   
    ::============*============
    :Set_1
    start "https://social.technet.microsoft.com/Forums/ja-jp/home"
    goto Menu
    :Set_X
    start notepad %0%
    goto Menu
    :Set_q
        goto :eof
    ::============*============

    ---ここまで///----------------------------------


    • Editado kasugasakura lunes, 25 de diciembre de 2017 12:01 commandline1行訂正
    lunes, 25 de diciembre de 2017 11:57

Respuestas

  • set /p ではありませんが、こちらでいかがでしょうか?

    @echo off
    :Menu
    cls
    echo.
    echo.
    echo.
    echo          【1】_websiteへ
    echo          【X】_編集
    echo          【Q】_終了
    ::--------------------
    set       "Slt= 1XQ"
    choice /c %Slt% /M "入力:"
    ::--------------------
    if        %ERRORLEVEL% equ 1 goto :Set_1
    if        %ERRORLEVEL% equ 2 goto :Set_X
    if        %ERRORLEVEL% equ 3 goto :Set_Q
    goto :Menu
    ::============*============
    
    :Set_1
    start "" "https://social.technet.microsoft.com/Forums/ja-jp/home"
        goto :Menu
    
    :Set_X
    start "" notepad "%~dpnx0"
        goto :Menu
    
    :Set_Q
        goto :eof
    ::============*============
    

    • Marcado como respuesta kasugasakura martes, 26 de diciembre de 2017 4:20
    lunes, 25 de diciembre de 2017 16:50

Todas las respuestas

  • set /p ではありませんが、こちらでいかがでしょうか?

    @echo off
    :Menu
    cls
    echo.
    echo.
    echo.
    echo          【1】_websiteへ
    echo          【X】_編集
    echo          【Q】_終了
    ::--------------------
    set       "Slt= 1XQ"
    choice /c %Slt% /M "入力:"
    ::--------------------
    if        %ERRORLEVEL% equ 1 goto :Set_1
    if        %ERRORLEVEL% equ 2 goto :Set_X
    if        %ERRORLEVEL% equ 3 goto :Set_Q
    goto :Menu
    ::============*============
    
    :Set_1
    start "" "https://social.technet.microsoft.com/Forums/ja-jp/home"
        goto :Menu
    
    :Set_X
    start "" notepad "%~dpnx0"
        goto :Menu
    
    :Set_Q
        goto :eof
    ::============*============
    

    • Marcado como respuesta kasugasakura martes, 26 de diciembre de 2017 4:20
    lunes, 25 de diciembre de 2017 16:50
  • choice /c
    %ERRORLEVEL%

    シンプルかつ明快
    見事に、目的達成できました。解決です。

    七辻屋さん、
    有り難うございます。

    きれいで軽快な書式を作成して頂きました。
    start "" commandline
    正確な記述方法についての指摘もありました。
    本当に有り難うございました。

    独り言)
    set /p とは全く異なるタイプのコマンドに思える。
    cmd.exeを終了させても、conhost.exeが起動したまま。
    timeout /t /nobreak と同じ状態。
    • Editado kasugasakura martes, 26 de diciembre de 2017 5:29 独り言)間違いを訂正
    martes, 26 de diciembre de 2017 4:22