Detect if a program is already running in a DOS command

Good day to everyone. First I want to congrat to the DOpus Team for doing such a piece of work!!! Great job!!!
Now, this is the problem that I'm facing it, when I try to make a button that run the following:
First, I have to clear some things. In my laptop, because I owned (I know that Everything is running all the time), I use Everything with DOpus, in order to do a search with Everything and import files to a collection, I only use this command that works great:

@runmode hide
@keydown:none
"{alias|programfiles}\Everything\es.exe" {dlgstring|Opciones:\n-p:Incluir a los resultados archivos relacionados\n-n num:La cantidad maxima de resultados mostrados\n-i:Realizar una busqueda sensitiva entre mayusculas y minusculas\n-w:Busqueda por palabras completas\nPara buscar en una direccion especifica, poner entre comillas la direccion, luego el criterio de busqueda y opciones\nBuscar:} > "{alias|programfiles}\Everything\database.txt"
@keydown:shift
"{alias|programfiles}\Everything\es.exe" -p {dlgstring|Opciones:\n-p:Incluir a los resultados archivos relacionados\n-n num:La cantidad maxima de resultados mostrados\n-i:Realizar una busqueda sensitiva entre mayusculas y minusculas\n-w:Busqueda por palabras completas\nPara buscar en una direccion especifica, poner entre comillas la direccion, luego el criterio de busqueda y opciones\nBuscar:} > "{alias|programfiles}\Everything\database.txt"
@keydown:common
{alias|home}\dopusrt.exe /col import /clear /nocheck "Everything" "{alias|programfiles}\Everything\database.txt"
Go PATH=coll://Everything NEWTAB=findexisting

Now this is the problem:
The problem happens in my USB DOpus, because first I need to know if Everything is running, if not I have to copy the Everything folder from my USB to /programfiles. Then use the aobve command. So I make this button (in DOS mode) but it's not working:

@runmode hide
tasklist /FI "IMAGENAME eq Everything.exe" 2 > NUL | find /I /N "Everything.exe" 1 > NUL
if "%ERRORLEVEL%"=="0" goto search
Copy FORCE "{alias|home|\}Apps\Everything" TO "{alias|programfiles}"
"{alias|programfiles}\Everything\Everything.exe" -startup
{alias|home|\}Apps\sleep 5
:search
@keydown:none
"{alias|programfiles}\Everything\es.exe" {dlgstring|Opciones:\n-p:Incluir a los resultados archivos relacionados\n-n num:La cantidad maxima de resultados mostrados\n-i:Realizar una busqueda sensitiva entre mayusculas y minusculas\n-w:Busqueda por palabras completas\nPara buscar en una direccion especifica, poner entre comillas la direccion, luego el criterio de busqueda y opciones\nBuscar:} > "{alias|programfiles}\Everything\database.txt"
@keydown:shift
"{alias|programfiles}\Everything\es.exe" -p {dlgstring|Opciones:\n-p:Incluir a los resultados archivos relacionados\n-n num:La cantidad maxima de resultados mostrados\n-i:Realizar una busqueda sensitiva entre mayusculas y minusculas\n-w:Busqueda por palabras completas\nPara buscar en una direccion especifica, poner entre comillas la direccion, luego el criterio de busqueda y opciones\nBuscar:} > "{alias|programfiles}\Everything\database.txt"
@keydown:common
{alias|home}\dopusrt.exe /col import /clear /nocheck "Everything" "{alias|programfiles}\Everything\database.txt"
Go PATH=coll://Everything NEWTAB=findexisting

Can someone tell me what I'm doing wrong?
This is what I want:
See if Everything.exe is running:
IF yes, then do a search.
IF not, copy Everything folder from the USB. Then running, wait 5 secs (with the sleep.exe utility from Sever 2003), then do a search.
Hope someone can help me with this...
Thanks.

Please. Someone?
I really need this command to work.
Thanks

You might need to give people more than 90 minutes on a Saturday night, especially if your account isn't linked.

From a quick look, the problem is probably from mixing DOS-Batch flow control (if ... goto ... :labels) with Opus commands, which won't work. Whenever there is an Opus command in a DOS Batch button, the DOS commands before and after it are split into separate batch files, and any jumps between the different parts will not work.

Add @externalonly to the top of the command (under the existing @runmode hide) so that everything is interpreted as a DOS command or exe, and not as an internal Opus command.

Change the Copy line to use the DOS copy command instead of the Opus one. (With @externalonly at the top, "Copy" will now run the DOS command, but the arguments need to be changed slightly as well.)

For the Go line, you can use this to run the Opus command via an external program, so it's treated the same as everything else in the batch file:

{alias|home}\dopusrt.exe /acmd Go PATH=coll://Everything NEWTAB=findexisting

(Don't use dopusrt.exe /cmd to run the Copy command in the same way, since it won't wait for the copy to finish. It's fine for the Go command because that's the last thing in the script and nothing needs to wait for it.)

Yerst. What are you doing here Leo?

My excuse is that I've just finished dinner, fed the cat, and am turning things off.

You didn't mention the language thing.