BAT file: Open new cmd window and execute a command in there

后端 未结 8 2146
囚心锁ツ
囚心锁ツ 2020-11-29 15:52

I\'m trying to open a new command window in a BAT file:

start %windir%\\system32\\cmd.exe

After it opens, I\'d like to execute a BAT comman

8条回答
  •  清歌不尽
    2020-11-29 16:01

    Thanks to all here in Stack Overflow; this solution solves the above question but is extended to automatically run these tasks:

    1. I want to run my rails server
    2. Run a rake jobs:worker for my delayed_job gem too
    3. and Open default internet browser to show my page
    4. finally, to leave a cmd window open for any extra commands during my session.

    I guess my project is called "antiquorum."

    Create an "init.bat" file in your %USERPROFILE% directory (open a cmd window and take a look at the path to the left of the cursor to know what %USERPROFILE% is)

    @echo off
    cd C:/projects/rails3/antiquorum
    if "%1" == "antiquorum" GOTO start
    if "%1" == "worker" GOTO worker
    if "%1" == "server" GOTO server
    if "%1" == "" GOTO end
    :start
        start cmd /k %USERPROFILE%\init.bat worker
        start cmd /k %USERPROFILE%\init.bat server
        TIMEOUT 30
        start "" "http://localhost:3000/"
        GOTO end
    :server
        rails s
        GOTO end
    :worker
        rake jobs:work
    :end
    

    In a new command line window type: C:> init antiquorum

    The code opens two more cmd windows and a browser. TIMEOUT avoids errors in the browser.

    The :start section does the work. You can run tasks 1,2 or 4 separately by typing params as: server, worker, or none to leave a cmd opened in root of "antiquorum" project.

    Enjoy.

提交回复
热议问题