Command line PAUSE function not working

5,580

Solution 1

I suspect the file has an error. Try calling the batch file from an existing command window to see the message.

Most likely the problem is that the script is calling an external program called "strings" and according to the document you linked to this can be found here. In order for the batch file to be able to find it you should install it in the directory you are running it in, otherwise you will need to modify the PATH system environment variable or put it in a system directory.

Solution 2

Wait

sec:

PING 127.0.0.1 -n <sec> >NUL

Wait 10 sec:

PING 127.0.0.1 -n 10 >NUL

Wait 10 sec:

powershell measure-command {sleep -s 10} ^| select TotalSeconds ^| Ft -Au

Wait 1/4 sec or 250 milliseconds:

powershell measure-command {sleep -m 250} ^| select TotalMilliseconds ^| Ft -Au

Pause

powershell:

powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

var2:

powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') >NUL

var3:

powershell cmd /c pause ^| out-null

var4:

powershell [Console]::ReadKey()>NUL

var5:

powershell sleep

Pause command, batch/cmd:

cmd /c pause
Share:
5,580

Related videos on Youtube

user232864
Author by

user232864

Updated on September 18, 2022

Comments

  • user232864
    user232864 almost 2 years

    I'm experienceing a problem with a batch file command - when I run the program, I have a "PAUSE" command at the end of the batch file, however, the command window still automatically closes instantly, too quickly for me to see the results. Is there another way to prevent the command window from closing, or to somehow get the results? i.e, can a printed version be sent, inserted somewhere?

    Background - I know squat about command lines, so please, if you can, any response please dumb down to novice level explanations. I am ultimately trying to determine versions of a MS Project file, and have used/followed this website instructions exactly, however the results won't display for me - the command window just dissapears instantly:

    Microsoft website I used for instructions: A simple method to determine the version of an mpp file (MS Project plan file)

    The text/commands within the batch file:

    @ECHO OFF
    
    REM  Version.bat
    
    ECHO Filename: %1
    
    ECHO.
    
    ECHO -- CHECK FOR PROJECT VERSION --
    
    strings %1 | findstr "[0-9],.,....,...." 2>NUL
    
    ECHO Check the following list for the first one or two digits of the string above (xx,.,....,....)
    
    ECHO List of xx (Product Name): 8 (98), 9 (2000), 10 (2002), 11 (2003), 12 (2007), 14 (2010)
    
    ECHO. 
    
    ECHO -- CHECK FOR MPP FILE VERSION --
    
    strings %1 | findstr ".MPP" 2>NUL
    
    ECHO Check the following list for the digit(s) at the end of the string above (...MPPxx)
    
    ECHO List of xx (Product Name): 8 (98), 9 (2000/2002/2003), 12 (2007), 14 (2010)
    
    ECHO.
    
    PAUSE
    
    • terdon
      terdon about 11 years
      What OS are you using? I guess it is a flavor of windows but which one?
    • user232864
      user232864 about 11 years
      I'm using windows XP - version 2002, service pack 3
    • Travis
      Travis about 11 years
      Post your batch file contents
    • user232864
      user232864 about 11 years
      Here are the batch file contents, as described in the link (going to have to do this in 2 comment posts as it exceeds the max number of characters): @ECHO OFF REM Version.bat ECHO Filename: %1 ECHO. ECHO -- CHECK FOR PROJECT VERSION -- strings %1 | findstr "[0-9],.,....,...." 2>NUL ECHO Check the following list for the first one or two digits of the string above (xx,.,....,....) ECHO List of xx (Product Name): 8 (98), 9 (2000), 10 (2002), 11
    • user232864
      user232864 about 11 years
      (2003), 12 (2007), 14 (2010) ECHO. ECHO -- CHECK FOR MPP FILE VERSION -- strings %1 | findstr ".MPP" 2>NUL ECHO Check the following list for the digit(s) at the end of the string above (...MPPxx) ECHO List of xx (Product Name): 8 (98), 9 (2000/2002/2003), 12 (2007), 14 (2010) ECHO. PAUSE
    • Scott - Слава Україні
      Scott - Слава Україні about 11 years
      I’ll ask the “stupid question” –– are you sure that your batch file is running at all? Try adding a command line like COPY NUL C:\TEMP\TESTFILE (specifying a directory that exists, that you have write permission for, and a file that doesn’t exist) to your script (say, right before the PAUSE), run it, and check whether the file was created. If it was, ignore this comment and focus on the other answers. If the file wasn’t created, try moving the COPY command to the beginning of the script. If it still doesn’t create the file: bad news; you’re not even running your batch file.
  • user232864
    user232864 about 11 years
    Unfortunately I get the same result - still dissapears instantly
  • STTR
    STTR about 11 years
    @user232864 test powershell command and what do PING 127.0.0.1 -n 10 in cmd? At your Windows XP SP3?
  • user232864
    user232864 about 11 years
    Thanks, tried the powershell at the end of the batch file, same result - the command window pops open for a second, then dissapears just as before. Not sure I understand the question "At your Windows XP SP3?"
  • STTR
    STTR about 11 years
    @user232864 From your question, I realized that you nuzhena delay and not pause. Now add)
  • user232864
    user232864 about 11 years
    Thank you - this worked. I can't believe I missed the "strings" program. Once downloaded it worked perfectly. Thank you!
  • user232864
    user232864 about 11 years
    Thank you for the information above - all good to know. Turns out I didn't have the "strings" program installed, which was needed. Thanks for the assistance.
  • yass
    yass about 7 years
    You are repeating the other answer