"Bring to front" for Windows XP command shell

Another way to get the cmd prompt window to show in front is by ending file1.bat with a command to call a second file2.bat file, followed by an exit command.

EXAMPLE using file1.bat

....
[your code here]
start C:\file2.bat
exit

This closes file1.bat and opens a second .bat file where you can continue with your code. This second .bat command prompt will open in front of other windows


I had a similar problem and I had to develop a simple C# console application that brings to front a Window. The windows is selected using the window title pass as argument.

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using  System.Runtime.InteropServices; 

 namespace ConsoleApplication1
 {
    class Program
    {

        [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindow(String lpClassName, String lpWindowName);

        [DllImport("USER32.DLL")]
        public static extern bool SetForegroundWindow(IntPtr hWnd);
        [DllImport("User32.dll")]
        private static extern bool IsIconic(IntPtr handle);
        [DllImport("User32.dll")]
        private static extern bool ShowWindow(IntPtr handle, int nCmdShow);
        const int SW_RESTORE = 9;
        public static void bringToFront(string title)
        {
            // Get a handle to the Calculator application.
            IntPtr handle = FindWindow(null, title);

            // Verify that Calculator is a running process.
            if (handle == IntPtr.Zero)
            {
                return;
            }
            if (IsIconic(handle))
            {
                ShowWindow(handle, SW_RESTORE);
            }

            Console.WriteLine("Founded ");
            SetForegroundWindow(handle);

        }

        static void Main(string[] args)
        {

            if (args.Length > 0)
                bringToFront(args[0]);
            else
                Console.WriteLine("specify program window title");

        }
    }
}

the code of my batch script is then something similar to

tasklist /FI "IMAGENAME eq program.exe" | find "program.exe" if errorlevel 1 (program.exe) else (BringToFront.exe "Program Window Title")


nircmd will do this, though it involves a little scripting.

nircmd win activate "titleofwindow"

You basically need to know the title of the cmd window you are executing (you can set this via the TITLE command in windows)

thus:

TITLE %SOME_UNIQUE_VALE%
nircmd win activate %SOME_UNIQUE_VALE%

should do the trick.

Note some malware tools make use of the NirCmd executable (it requires no deployment and is very powerful); this may cause you problems.