Não consigo fazer meu arquivo em lote rodar de forma invisível

Não consigo fazer meu arquivo em lote rodar de forma invisível

Encontrei muitas coisas online sobre a criação de arquivos bat invisíveis. Cheguei mais perto de entender este:

Execute um arquivo em lote de forma completamente oculta

No entanto, na minha aplicação, não consigo descobrir como fazer isso funcionar. Aqui está minha configuração atual que funciona (com janelas cmd irritantes aparecendo em todos os lugares).

Estou usando o aplicativo uTorrent para executar um arquivo bat sempre que um torrent termina. Dentro do aplicativo, existe um campo para “Executar este aplicativo quando um torrent terminar”. Eu entrei:

C:\scripts\torrentscript.bat "%D" "%N" "%L" "%K" "%F" >> C:\scripts\torrentlog.txt

Alguém pode segurar minha mão durante a configuração para que o morcego corra de forma invisível? Não consigo descobrir como passar todos os parâmetros corretamente. Um grande bônus seria se eu pudesse manter o arquivo de log funcionando corretamente também para depuração.

Muito obrigado!!

Arquivo bat ETA:

@echo off
title Duplicating a Freshly Downloaded Movie or Show
rem Parameter usage: fromdir torrent-name label kind [filename]
rem corresponds to uTorrents flags: %D %N %L %K %F 
echo *********************************************
echo Run on %date% at %time%

set fromdir=%1
set name=%2
set label=%3
set kind=%4
set filename=%5
set savepartition=J:
set moviedir=%savepartition%\"Movies [NOSYNC]"
set showdir=%savepartition%\"TV [NOSYNC]"

rem Only process PTP or BTN Auto torrents
if %label%=="PTP" goto movie
if %label%=="BTN Auto" goto show

GOTO :EOF

:movie
echo ***Movie**********
set todir=%moviedir%
set type="New Movie"
if %kind%=="single" goto single
goto multi

:show
echo ***Show**********
set todir=%showdir%
set type="New TV Show"
if %kind%=="single" goto single
goto multi

:single
echo Single
echo %fromdir%%filename% %todir% /I
xcopy %fromdir%%filename% %todir% /I
goto growler

:multi
echo Multi
echo %fromdir% %todir%\%name% /I
xcopy %fromdir% %todir%\%name% /I
goto growler

:growler
call "C:\Program Files (x86)\Growl for Windows\growlnotify.exe" /a:"uTorrent" /n:"Finished" /t:%type% %name%
echo Processing Complete on %date% at %time%

Responder1

Existem duas maneiras de interpretar esta questão. Abordarei as duas maneiras pelas quais posso interpretá-lo.


  1. Se você simplesmente não deseja que nenhum texto seja impresso na caixa preta, mas ainda deseja que a caixa preta apareça, adicione-o @echo offao topo do seu arquivo em lote.

  2. Se você não quiser que a caixa preta apareça (executada em segundo plano), tive muito sucesso comMorcego para Exede f2ko.

Até onde eu sei, não é possível executar um arquivo em lote simples sem uma caixa preta, mas ao convertê-lo em um executável do Windows com este programa, você pode marcar uma caixa de seleção chamada 'executar em segundo plano'. É assim que sempre fiz. Você pode até adicionar ícones!

Se você acabou de usar tubulação para criar seu arquivo de log ( >, |, <, etc), isso deve permitir que você registre. Caso contrário, ele deveria fazer qualquer coisa que um script em lote normal faria, apenas sem uma caixa preta.

Responder2

Você também pode simplesmente executarhidecon.exedo seu lote. No entanto, isso não o ocultará da lista de processos.

informação relacionada