Restart .bat file every 12 hours - windows

i have a batch file on my server desktop called start.exe. I'd like to kill start.exe every 12 hours, than wait 2 seconds, and than restart start.exe. This should of course also work when no user is logged in on the server. So the workflow should be like:
Starting Windows Server
Starting start.exe
Restart every 12 hours
How can i achive this? With a script? With a task?

Run shutdown.exe in a scheduled task set to run every 12 hours. At a command prompt, type shutdown /? to see the options.

Related

PostgreSQL uninstall on Windows

In the process of upgrading from PostgreSQL 11 to 12 on Windows, I uninstall PG-11 using the uninstall.exe, wait for like 15 seconds (to make sure that the uninstall.exe is complete), delete the bindir (if exists) and then install the Postgres-12.exe. This all is done in a batch file and the code looks something like:
uninstall-postgresql.exe --mode unattended
PING 1.1.1.1 -n 15 >NUL
if exist C:\PostgreSQL\bindir RD /Q /S C:\PostgreSQL\bindir
postgresql-12.1.exe --servicename Postgres --prefix C:\PostgreSQL\bindir --datadir C:\PostgreSQL\datadir
On some systems, the uninstall-postgresql.exe completes in less than 15 seconds and the upgrade works.. however on some slow systems, it takes more than 15 seconds due to which the Postgres-12 installations will fail for some or the other reasons.
I want to remove the 15 seconds delay and make sure that the control is given back to the next command in the batch file only when the uninstall-postgresql.exe is 100% complete. Right now, when I run the batch file, it calls the uninstall-postgresql.exe --mode unattended but the control comes back to the batch file and the next command (in the batch file) is executed while the uninstall-postgresql.exe is running in the background. Is there a way to make sure that uninstall-postgresql.exe completes and only then the next command in the batch file is executed?
Please recommend if there is any way to do so.
Thanks in advance.

How to set task via command line to run if in sleep

I am scheduling a task in windows 7 via psexec to networked computers. The task is scheduled ok but I want to be able to set it to wake the PC if it is in sleep mode. I don't see anything in the docs on how to do that. Does anyone have anyway of doing this?

Run a batch file 5 minutes after startup in Windows Xp

I want to execute a .bat file 5 minutes after windows starts up. Unfortunately, windows task scheduler doesn't offer anything of the sort, only execute something right on start up. However, I need something to be 5 minutes after startup.
.bat file doesn't do much, just calls one separate .cmd file and passes a parameter. I've tried:
timeout /t 300 /nobreak
"C:\Documents and Settings\Administrator\Desktop\sikuli\runIDE.cmd" -r "C:\Documents and Settings\Administrator\Desktop\sikuli\SikuliXmlTestRunner.sikuli"
However, the runIDE.cmd gets called right away, regardless of the timeout.
You can give wait(300) command at the beginning in your sikuli script to achieve this.
XP doesn't have timeout command, use ping -n 300 localhost>nul or ping -n 1 -w 300000 localhost>nul.

How run PowerShell script all time?

I have PowerShell script that is getting WorkingSet of one process.
When WorkingSet of process is higher then defined, it will kill the process. (process will start autmaticly - this is not part of my script)
How I can make that this script will run all-time? For example now when process will be using high RAM, script will immediately run itself and will kill this process?
Is this possible or is better to do some timer that will run for example for 10 seconds? 10 sec, run script, 10 sec, run script, ....?
And how to do that?
Thnak you for your help
You could put the script in a loop and run on startup (put it in the Startup folder)
while ($true)
{
Start-Sleep -s 10
# check process and kill if necessary
}
Or you could set up a Scheduled Task to run at midnight and repeat every minute for 24 hours, that would be a more efficient means but I don't think it gets finer than once a minute.

Start cmd-scripts sequentually at system startup

I have Windows 2012 system with some servers. Every server starts with batch script, and some servers depends on another.
I need to start these scripts sequentially.
I have 4 cmd files: startMasterServer.cmd, startSlaveServer1.cmd, startSlaveServer2, startAnotherUtility.cmd.
Slave servers can start only after master server. But when I execute startMasterServer.cmd, it need 1-2 minutes to start. Another utility don't need anything for it, it can be started at any time.
How to manage autostart of servers in Window 2012? Maybe start scripts with timeouts or something???
And how to start my batch script when OS starts? No any user logged in at this time.
Maby you can use timeout 5 this for example will wait 5 seconds before continue the script.
So in your case you might want to use the following:
startMasterServer.cmd
timeout 120
startSlaveServer1.cmd
timeout 120
startSlaveServer2.cmd
timout 120
startAnotherUtility.cmd
Make another script that start the others scripts, placing timeouts between them.
Something like this:
#echo off
script1.cmd
timeout 120
script2.cmd
timeout 120
....
Then start only this script, and let it do the rest of the work.

Resources