Como posso fazer meu computador fazer uma série repetida de tarefas por um arquivo de script no Windows?

3

Quando eu quiser atualizar um projeto da web meu, eu tenho que fazer as seguintes tarefas o tempo todo:

  • Abra cmd.exe .
  • cd no diretório de trabalho do projeto.
  • Execute o comando localhost em cmd.exe ( ~ jekyll s ).
  • Inicie uma nova janela do Chrome (navegador padrão) e insira o link link

Como posso fazer meu computador fazer tudo isso para mim em um clique duplo em um arquivo? Por scripts ou arquivos em lotes, talvez?

    
por Varaquilex 22.04.2015 / 04:00

2 respostas

3

Você precisa escrever um arquivo em lotes no Windows (no caso do Linux, eles são chamados de shell script). É muito fácil escrever quando você sabe quais comandos usar (no seu caso, você já conhece os comandos). Em um arquivo de lote, você precisa anotar os comandos na ordem em que deseja que eles sejam executados. Para criar um arquivo de lote, abra um bloco de notas e anote os comandos em ordem e salve o arquivo com a extensão .bat . Em seguida, você só precisa clicar duas vezes nesse arquivo .bat e ele fará toda a sua tarefa. Apenas dando-lhe um exemplo de como o arquivo de lote deve se parecer.

cd /your/working/directory/path
jekyll s
start chrome "http://localhost:4000/"

Operação básica de entrada / saída no arquivo em lote

Recebendo informações do usuário: [Comando usado set ]

Sintaxe: set /p variable_name=[Prompt String]

Exemplo: set /p loc="Enter the directory path : "

Isso solicitará uma entrada do usuário e a atribuirá à variável loc .

Exibindo mensagem / saída na tela: [Comando usado echo ]

Sintaxe: echo <your_message_here>

Exemplo: echo Hello World

Irá exibir "Hello World" na tela. Para imprimir o conteúdo de uma variável usando echo use echo %variable_name% . Digamos que você queira exibir o conteúdo da variável my_name . Então o comando será echo Hello %my_name% .

Tornar seu script mais interativo usando esses comandos.

echo off
::The above command hides the commands that are executed and displays only the output of the commands
set /p loc="Enter your project directory location : "
cd /d %loc%
echo Directory changed...
jekyll s
echo Launching browser...
start chrome "http://localhost:4000/"
echo End of script...
pause

:: é usado para comentar. Para saber mais sobre um comando específico, use /? após o nome do comando para exibir o manual desse comando que contém o que o comando faz e todas as opções disponíveis para ele. Por exemplo, para saber mais sobre o comando cd , insira cd /? no prompt.

Aqui está um bom tutorial para iniciantes.

    
por 22.04.2015 / 04:10
0

Você criaria o que é chamado de script em lote . Há muitos tutoriais on-line para começar a usar scripts em lote, como este , Eu recomendo que você leia e teste alguns dos princípios básicos para ter uma ideia.

Quanto ao seu caso específico, abra o Bloco de Notas (não é um documento do Word) e digite os comandos que você normalmente digitaria no Prompt de Comando, completo com novas linhas. Então, algo como:

cd C:/yourdirectory
somecommand /parameter
etc...

Agora salve o arquivo, escolha a opção 'Todos os arquivos' e salve-o como scriptname.bat , NÃO .txt

Agora, se você executar o arquivo clicando duas vezes, ele abrirá uma janela de comando e executará seus comandos.

Você pode abrir as janelas do navegador usando:

start "http://localhost:4000/"

Que será aberto no seu navegador padrão.

Alguns comandos que você pode achar úteis enquanto cria o script:

  • @echo OFF - coloque isso na parte superior do seu script em lote e ele impedirá que a janela liste todos os comandos em execução.
  • echo Use isto para exibir mensagens, como 'echo A operação de cópia está completa
  • pause - Use isto para pausar a execução dos comandos em lote até que você pressione uma tecla. Ele pedirá automaticamente para você "Pressionar qualquer tecla para continuar"
por 22.04.2015 / 04:16