# Cmd Example

Vamos considerar um exemplo de robô que demonstra o princípio de trabalho com a linha de comando. Neste caso, os comandos são carregados de um arquivo xlsx e executados aleatoriamente.

O projeto do robô consiste em um diagrama e um arquivo xlsx. Assim, se descrevermos passo a passo, este robô funciona da seguinte maneira:

1. Carrega a Tabela de Dados do arquivo xlsx.
2. Com o bloco “Número Aleatório”, seleciona uma linha da tabela.
3. Abre uma janela com a linha de comando.
4. Executa o comando da linha da tabela selecionada anteriormente.
5. Após a execução do comando, fecha a janela com a linha de comando.

O diagrama do projeto é assim (para conveniência, os blocos do diagrama estão numerados):

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdvsz8MZQ4CEr84Vf-zODTGgTUeJp5VhJYlp-eb9xtqL4ORfhTYpE1v3Vh-UUhpGEe4Ou0byrHN_qNdRtawS1IsYgqxHVOAp3xyOj8g2Tq0wgHL58JoYx8KaXhBtrL4mCwNm3rrMoiQwQWqqwEadxsif6o?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Carregar Tabela de Dados”** permite carregar a tabela de dados do arquivo xlsx. Para este bloco, as seguintes propriedades estão definidas:

* Caminho para o arquivo (caminho para o arquivo xlsx do qual as informações devem ser carregadas na Tabela de Dados);
* Cabeçalho (com a flag ativada, a primeira linha da tabela será usada como cabeçalho);
* Planilha (ID ou nome da planilha cujos dados devem ser salvos na Tabela de Dados).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7wDEcBVup9HCqs5hmq7Ebe8NgyBxaYkXuKNMvfrLM11NsFvxbJvNbKZySeuNB-fnWcxkKgDxnkEM-B3tEwCPLStY850pnV8eax9mahQNK0mFAHLAJO_nxrKGzOD6sXA3VO3cwQsvmNHVDqBCSibqFJIAZ?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

3. **Bloco “Número Aleatório”** gera um número aleatório com parâmetros definidos. Para este bloco, as seguintes propriedades estão definidas:

* Valor Mín. (valor mínimo para o número aleatório);
* Valor Máx. (valor máximo para o número aleatório);
* Passo (passo do número aleatório).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7P4JTkyKqtp34defivCP2cJrR3rT8cVgQmyr7iXrZ2D-k4bAY88ZVH9GkWX0APpIuseTFJ88AANKVrNt0Un1FyUrE6LsTr0cTLeCR0r0CxbYoWHEV-1XqKKxsPrquQO7NqlxQhyYQSPxB8gg-jBTndW7u?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

4. **Bloco “Atribuir Valor à Variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, está definido um valor que deve ser atribuído a uma variável específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfaZipL3olPn7IQAZkgH6S_hPGof5BJPP_0eLwuiC3ag8StLjP3AEiXngD9Y2DrbVcr5_72Y5xXeyBStPtEJut1AVE8ARtSTdh1nzl7OJ2hvIlhyV7Jd129dKUYe0i5FING0s0aoRAX2C0gXOys6gsiw0YW?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

5. **Bloco “Iniciar Aplicativo”** inicia o aplicativo especificado com os parâmetros definidos. Para este bloco, nas propriedades, está definido o caminho para o aplicativo (nome do aplicativo padrão).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdOJe4a3xRk-bDNqnyjtP4dGcAE_euXnS07OTqEwVLsXve7JhTs0hOR5wo_O6NlFycYCcMk5p69DfrXPBdcN5tlHTCYfu7P4ktQtUXyyArwtl95bsauRjhK8SRHERVJ2iYdvPVbPT--CrFVW7YxyvERsEoy?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

6. **Bloco “Pausa”** pausa a execução do script por um tempo definido. Para este bloco, as seguintes propriedades estão definidas:

* Unidade de Medida (unidade de medida na qual a duração da pausa está definida);
* Duração (número de segundos que a execução do script será pausada).
* Iniciar Imediatamente (com a flag ativada, a pausa será aplicada imediatamente na primeira passagem deste bloco desde o início do script do robô).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf679Q19xPtYgbL6MJ4vA-gROKnNUqS7JsYprX3EhWQn0K9WB1LsiQjOBQ9kpptiVdrlbnXRCDWcyiqgep83NBbRg1Oir2-nNJPgeO6SnX-LlesCcJnU-C2H-p6FpEuxfiCXhDo_nTO-WigaWoo9VrnypI?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

7. **Bloco “Pressionar Teclas”** emula a pressão de teclas no teclado. Para este bloco, as seguintes propriedades estão definidas:

* Teclas (texto ou teclas que devem ser emuladas);
* ID do Processo (variável que armazena o identificador do aplicativo);
* Interativo (com a flag ativada, pausas são inseridas entre as pressões das teclas);
* Tempo de Pausa (duração da pausa entre as pressões das teclas em milissegundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdhNaN3RiT3TWvOHCqsq8-dqT8y8tlhDTguvEQP28RGen9ddgcGwaOFPqqdofB762_LapI45QasZAxukpnKrHxQbXU1FqAJ1lci2hoy1o5Kivb9TI6qsq-Cyj-klHJYjN1_XJ9QOwritgn_3hlaR6UzlEoc?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

8. **Bloco “Pausa”** pausa a execução do script por um tempo definido. Para este bloco, as seguintes propriedades estão definidas:

* Unidade de Medida (unidade de medida na qual a duração da pausa está definida);
* Duração (número de segundos que a execução do script será pausada).
* Iniciar Imediatamente (com a flag ativada, a pausa será aplicada imediatamente na primeira passagem deste bloco desde o início do script do robô).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfiVmBpjRNKcE50HnsNr2A393tWtfv9jw8F6WbcUZROZQo_YyY9nSqlSOrvAmr3t5bhxAbAY-kjJ_UJKet56NE9j_ld4WstaTc604Etnl5R44jUtSqP-usqB5WcK7a4WS9Mi5hB3DuMc5KgsHCxFonYf9RL?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

9. **Bloco “Fechar Aplicativo”** fecha o aplicativo especificado. Para este bloco, a propriedade “ID do Processo” está definida (variável que contém o identificador do processo que deve ser fechado).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7lxCnISUh50NckXWlWYwsfWQ0K4mtfR7bO83ZWiuDUn0HBVhlixpUQgSvZYpRYI166AagRCV2Aa0sOTbUmxJc1QCx7UFC4qbaAqKXg4qJrxG3yPVDLz4fT7hUIXAEvP4vwKKUityUVWgPrFKagA661Xg?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

10. **Bloco “Fim”** (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).
11. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” está definida. Entre aspas, está uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem de erro na execução.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXffXvYmUY961z1r6nY6jb-aMAi9aki6D3hnZcQNVJkjs6z_q288_bf-cVaNgyqJ-h8lqhPORsQyws99YMHVMDYbFJR5jOQi-zOlBI1vhpSrhcPA_JzvyANd2gfya3ZLjuvmz6RDm3cRMulxW1j9eLJ192Bk?key=6b-lfrni6g0pefzDtoJOiw" alt=""><figcaption></figcaption></figure>

12. **Bloco “Fim”** (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/primery-robotov/cmd-example.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
