Evitar a execução acidental do arquivo .BAT do Windows na estação de trabalho?

1

Eu tenho um arquivo .BAT com uma linha de robocopy nele. O arquivo .BAT reside em um diretório do servidor de rede. Eu uso um aplicativo cliente / monitor em minha estação de trabalho para enviar um comando de execução para várias máquinas sem cabeça para dizer a cada um deles que execute o arquivo .BAT.

O problema que tive foi que algumas vezes quando tentei copiar e colar a linha de comando para enviar para as máquinas remotas, eu inadvertidamente executei o comando na minha própria estação de trabalho!

Existe alguma maneira de modificar o arquivo .BAT ou fazer algo elegante que faria com que o arquivo .BAT não pudesse operar acidentalmente em uma estação de trabalho com um ser humano atualmente ativo ou algo assim? Eu só preciso fazer isso para que eu não execute acidentalmente a coisa boba na minha máquina quando estou trabalhando com ela.

    
por JamesHoux 23.10.2013 / 15:36

4 respostas

3

Talvez você apenas envie um curto comando de espera no início, digamos 10 segundos com um aviso que diz "Aguardando 10 segundos ..."

Isso lhe daria tempo suficiente para cancelá-lo em sua estação de trabalho se você acidentalmente o executasse em sua própria estação de trabalho.

Siga os conselhos desse cara sobre como criar o "timer", se quiser, ou crie seus próprios parâmetros / script:

Melhor maneira de aguarde alguns segundos em um arquivo bat?

    
por 23.10.2013 / 15:54
3

Ou (supondo que seja apenas um conjunto limitado dessas máquinas que você gostaria de executá-lo) obtenha o arquivo em lote para verificar o nome da máquina em que está sendo executado e compare-o com uma lista da direita máquinas antes de fazer o robocopy:

@echo off
FOR %%A IN (MACHINE1 MACHINE2 MACHINE3) DO IF %computername%==%%A goto :RUNTHEBATCHFILE

ECHO Not running on this PC
goto :THEEND

:RUNTHEBATCHFILE
REM Run something
ECHO Hello
goto THEEND

:THEEND
    
por 23.10.2013 / 18:40
2

Defina as permissões de segurança para que sua conta de usuário tenha lido, mas não leia & executar permissões?

Ou negue ativamente a si mesmo as permissões "Ler e executar".

    
por 23.10.2013 / 18:49
0

Se você tiver um script em seu computador e quiser que ele seja executado em outro computador ...

Use PSExec em outro arquivo de lote, para copiar o script para o computador desejado e executá-lo está aí?

RunOtherBat.bat:

@Echo Off

psexec \SomeServer  -c test.bat
psexec \SomeServer1 -c -u Domain\Admin -p SuperSecret!23$ test.bat
psexec \SomeServer2 -c test.bat

OR

Crie uma variável de ambiente (usuário ou sistema) e verifique essa variável? Se a variável existir - não execute (ou execute).

    
por 23.10.2013 / 22:09