i want to make a batch file to run cmd and using takkill command to stop specific task in windows.
i used this code within a file named batch.com to stop explorer:
start "runas /user:administrator" cmd /k "taskkill /im explorer.exe /f"
but when i execute the batch file a black windows appeare and then shows this error message in a dialogue box.
c:\user\jack\desktop\batch.com
The NTVDM CPU has encountered an illegal instruction.
CS:0000 IP:0077 OP:f0 37 05 0e 02 choos 'close' to terminate the application.
it has two button close and Ignore and bothe close the black window without doing anything.
when i tried the command
taskkill /im explorer.exe /f
directly in cmd it works properly.
Thanks to #rostok and #Stephan the problem is the extension. File extension should be .bat
Related
I need to create a batch-file (.bat) which keeps the console window open even after the started program has terminated (for the purpose of examining the console window output). For that I tried to use the "/WAIT" switch:
#ECHO OFF
title test
#ECHO ON
start "" /WAIT "C:\My CLI Tools\7zip\x64\7za.exe"
But despite using the "/WAIT" switch the console window automatically closes after 7za.exe is terminated. (Obviously, the "/WAIT" switch waits only until the started program has been terminated).
So how can I make the console window stay open even after 7za.exe has been terminated?
start /wait tells batch to wait for the program to terminate, before performing next line, or to finish script. to keep it open and do nothing you can use pause:
#ECHO OFF
title test
#ECHO ON
"C:\My CLI Tools\7zip\x64\7za.exe"
pause
Or timeout:
#ECHO OFF
title test
#ECHO ON
start "" /WAIT "C:\My CLI Tools\7zip\x64\7za.exe"
timeout /t 300
But both these will do nothing until it either times out, or you press any key.
If you were expecting output in cmd window, and the command actually provides output to cmd console, then you should not start it outside of the current console window. Just do:
#ECHO OFF
title test
#ECHO ON
"C:\My CLI Tools\7zip\x64\7za.exe"
pause
I have searched and searched and this is the closest code I have found:
#echo off
:loop
C:\CryptoCurrency\nexus_cpuminer\start.bat
timeout /t 30 >null
taskkill /f /im nexus_cpuminer.exe >nul
goto loop
A few things: notice the start.bat. The .exe I need to launch has to start via the .bat file because the .bat file contains information the .exe needs.
Secondly, the .exe launches a CMD prompt window which shows me what's going on.
(keep this in mind because this is not your normal .exe, I WANT that CMD prompt window to close when it's KILLED)
I am aware I have it set for 30 seconds. I'm just testing right now. I'd like to set it for 4 hours before the kill command is called. Also, I'd like to set a "delay" of 30 seconds before the whole process starts over. I am running Windows 7 x 64.
You must change the name of the second Batch file to other name (i.e. starter.bat) and execute it via the start internal command in order to execute it in parallel:
#echo off
:loop
start "" cmd /C "C:\CryptoCurrency\nexus_cpuminer\starter.bat"
timeout /t 30 >null
taskkill /f /im nexus_cpuminer.exe >nul
goto loop
The last line in starter.bat file must be the execution of nexus_cpuminer.exe, so when it is killed via taskkill, the .bat file ends immediately.
Another simpler approach is to directly execute nexus_cpuminer.exe in this Batch file, via start "" cmd /C nexus_cpuminer.exe command, so this process be opened in its own cmd.exe window.
If you CALL start.bat, it will return to your 'calling' script.
If you give start.bat a TITLE, you can /FIlter your TASKKILL command to EQ that WINDOWTITLE
I press Windows+R to open run dialog box.
Then I write command ipconfig /all and press Enter.
cmd is opened with some network content but it closes immediately.
I want cmd not to close at all without my consent.
I googled that I can run two commands in windows run dialog when I separate them with & or &&. I also found out that pause or set /p= commands would stop cmd from closing. However, ipconfig /all && pause (and all 3 other combinations) fail - cmd still closes and the rest of the command is passed to ipconfig which "returns an error".
Quote Microsoft:
A console is closed when the last process attached to it terminates or calls FreeConsole.
In other words, Win32 console window will always be closed when the last program running inside it exits, and you cannot change this.
Solutions:
call cmd.exe /k first.
example:
cmd.exe /k ipconfig /all
With above trick, we call cmd.exe to execute ipconfig /all. Since cmd.exe not terminated, so the console will not closed.
I'm playing an old game that conflicts with the Windows Graphical Shell for Windows 7 and doesn't allow it to display properly so I simply go into Task Manager (TM) and close explorer.exe and the game displays fine but in order for me to enable explorer.exe I need to go into TM and start a new task for it to come back. I was wonder if there was a way to write a .Bat file that would kill explorer.exe launch my game and once the game closes it would simply run the task for me instead of manually needing to turn it back on.
taskkill /f /IM explorer.exe
start CNC95Launcher.exe
this is what i have so far
The start causes windows to launch your program asynchronously - that is, it will start it, then continue with the next instruction without waiting for your app to close.
Try this:
taskkill /f /IM explorer.exe
start /wait CNC95Launcher.exe
start explorer.exe
You probably don't actually need the start for explorer, because it's that kind program.
I use this (on window 7):
taskkill /F /IM Explorer.exe
*.exe
Start explorer.exe
replace * with the exe name that launches the actual game not a pre launch menu and save as .bat in the same folder directory.
It works for Star Wars Galactic Battlegrounds and AoE which can suffer weird colour issues if explorer runs.
I have scheduled a task to run a batch file, and currently every time the task executes, there is a command prompt box that flashes. This is very undesirable. The node.js command prompt window executes minimized correctly, it is the windows command prompt that flashes.
Here is the action that the scheduled task runs:
cmd /min /c "C:\Users\computeruser\Building Intelligence\javadobe\runCheck.bat"
and here is the contents of the batch file, (probably unnecessary to show, but I was originally trying to run these commands straight from the task scheduler. Putting them in this batch file instead has got me closest to what I actually want to happen: run a javascript file with node.js minimized):
cd "C:\Program Files (x86)\BuildingIntelligence\javadobe\" & START /MIN node index.js /exit
A list of the commands I've tried:
cmd.exe /c start /min "C:\Users\computeruser\Building Intelligence\javadobe\runCheck.bat"
cmd.exe /c start /min "C:\Users\computeruser\Building Intelligence\javadobe\runCheck.bat" & /exit
%comspec% /c start "" /min "C:\Users\computeruser\Building Intelligence\javadobe\runCheck.bat"
all of these commands leave the command prompt box open, not closing it but minimizing it after it opens. There is also a notification that says "not enough storage is available to process this command".
I need to run this task with the highest privileges, and while it needs to be invisible most of the time, it needs to be able to show a dialog box occasionally when the task is run.
Thanks in advance for any help!
Basically, if what you have tried doesn't work, you're going to need a third party tool. NirCMD should do it and it's freeware.
NirCMD exec hide "C:\Users\computeruser\Building Intelligence\javadobe\runCheck.bat"
At the bottom of this page there is a link for the download. This page covers what the tool is capable of.