A importância do CMD/MS-DOS/BATCH/PROMPT - Go Scripts

Go Scripts

The Computers World

quinta-feira, 23 de junho de 2016

A importância do CMD/MS-DOS/BATCH/PROMPT

A IMPORTÂNCIA DO CMD/MS-DOS/BATCH/PROMPT

Muito se fala em novas tecnologias, em diversas linguagens de programação, scripts, softwares, e tudo relacionado ao ramo da informática, são tantas coisas novas e legais, que as vezes ficamos surpreendidos com os avanços das novas tecnologias em um espaço curto de tempo, isso faz que muitos recursos antes que eram considerados "da hora", sejam apenas obsoletos, antiquado, ultrapassado, sem serventia como alguns dizem.

Mas se formos parar para pensar, vemos que muitas novas tecnologias necessitam de muito carga de memória, espaços. Recursos maiores para softwares maiores e mais robustos. Mas há processos que podem serem feitos sem a necessidade de novos programas ou de super computadores. Como é de se esperar de muitos leigos e até mesmo de alguns programadores, ou dos novos aderentes das novas tecnologias, as "velhas" linhas de comandos são ultrapassadas, "sem serventia" como já ouvi falar de muitos.


As linhas de comandos são essenciais para tornar uma experiência única ao usuário que a utiliza, é a base para se automatizar processos nos sistemas operacionais, seja Windows, Linux ou outro S.O. qualquer, muitas linhas de comandos são intuitivas, e vai direto ao ponto do que se quer chegar para determinada função ou processo a ser executado, outros precisam de combinações mais complexas para se tornarem mais poderosas ainda.

No Windows  vem de brinde alguns dos comandos do antigo sistema operacional MS-DOS (MicroSoft - Disk Operation System) que é executado no programa CMD (CoMmanD), através do Prompt CMD, você pode executar as mais variadas funções ou processos do Windows, isso tudo sem utilizar uma interface gráfica, apenas por linhas de comandos, isto é usar o computador no bruto para alguns, principalmente leigos nesse segmento.

Mas o porquê de se aprender a utilizar as linhas de comandos do S.O.?
Essa é uma pergunta muito simples e fácil de responder, pois sua utilidade vai além de apagar ou criar pastas como muitos pensam que é, vai além de gerenciar usuários, ou coisas mais simples. É fundamental para qualquer um profissional de informática ter o conhecimento para executar rotinas repetitivas, ou gerenciamentos remotos, ou configurações do sistema operacional, ou fazer qualquer outra tarefa no computador, sendo assim, podendo automatizar diversos comandos para determinadas tarefas.

Mas como automatizar tarefas? Esse é um processo bem simples mesmo, para isso você dever criar um arquivo em lotes (file batch), que estará com a sequência de comandos presentes no seu computador para que seja executado uma rotina de comandos, que terá alguma finalidade final, ou seja, com a criação de arquivos em lotes, você poderá executar diversos comandos em um único arquivo, que poderá fazer "N" possibilidades de atividades, em um arquivo em lotes, você poderá criar para por exemplo, remover aqueles vírus muito chato presente em computadores públicos, acho que muito já passaram por isso, de conectar um pendrive  em um computador público e em seguida você só ver atalhos de seus arquivos.

Esses problemas de infecção por esse vírus é muito simples de resolver. Basta apenas seguir uns passos para criar um batch simples para poder fazer o processo de fechamento do programa que interpreta os comandos do vírus, buscar e deletar o vírus e depois disso mudar os atributos para que você veja e possa utilizar seus arquivos novamente.

Note que para poder fazer esse processo,você precisa saber o mínimo de Prompt de Comando, para assim poder ter êxito no script batch. Você pode observar no exemplo abaixo como seria montado um script batch para remover esses vírus e voltar a utilizar os seus arquivos presentes.

Observe esse código simples:
  1. @echo off
  2. color 0a
  3. title Script de teste (remover vírus de atalhos no pendrive)
  4. :inicio
  5. cls
  6. tasklist|find /i "cscript" >nul
  7. if %errorlevel% neq 1 (taskkill /f /im cscript.exe)
  8. tasklist|find /i "wscript" & echo %errorlevel%
  9. if %errorlevel% neq 1 (taskkill /f /im wscript.exe)
  10. pushd F:
  11. attrib -r -a -s -h /s /d *.*
  12. del /f /s /q *.vbs
  13. del /f /s /q *.lnk
  14. exit
Este é apenas um código de exemplo, poderia ficar mais complexo e mais automático, porém como é para fins de estudos, você poderá utilizar ele. Agora vamos aos comentários de cada linha ou comandos.

Na linha 1: Nesta linha do arquivo em lotes, percebemos que você poderá desativar os ecos de comandos, ou seja não será mostrada os ecos, o caminho que está sendo executado o comando. Comando @ECHO OFF.

Na linha 2: Nesta linha nos definiremos a cor do nosso script batch para o background e texto (valor em hexadecimal), neste caso colocamos o comando COLOR 0A (Fundo preto e texto verde).

Na linha 3: Daremos um titulo para a nossa janela, você poderá criar um título conforme você quiser, para isso utilize o comando TITLE Meu título aqui.

Na linha 4: denominamos um rótulo (label) para caso precisarmos poderemos redirecionar para o inicio do programa em lotes.

Na linha 5: Colocamos o  comando CLS (CLear Screen), que limpa a tela.

Nas linhas 6 e 8: Nestas duas linhas usaremos dois comandos para tornar-se um só, usaremos o TASKLIST (Lista de Tarefas) e o FIND (Encontrar/Buscar), o primeiro comando serve para listar a lista de tarefas, ele lista os programas abertos seja em segundo plano ou não. O segundo comando serve para encontrar alguma string (texto literal), neste exemplo usaremos para encontrar dois programas que executam os códigos do vírus a ser eliminado (Estes programas são nativos no windows), se forem encontrados na lista de tarefas então será executado as linhas abaixo:

Nas linha 7 e 9: Se o retorno de "%errorlevel%" não ser igual (Not EQual = NEQ) a 1 (um), então será feito o que está dentro dos blocos de parenteses (taskkill /f /im  cscript.exe e taskkill /f /im wscript.exe), onde o comando TASKKILL irá forçar (/F) o encerramento da imagem (/IM) denominado CSCRIPT.EXE e WSCRIPT.

Até agora fizemos o processo para detectar os aplicativos abertos para fechar o CSCRIPT e WSCRIPT que executam os códigos do VBS (vírus criado em VBS). Agora iremos trabalhar no pendriver.

Na linha 10: Nesta linha iremos entrar no pendrive por linha de comando, para isso usaremos o comando PUSHD (PUSH Directory= Empurra Diretório), ou seja colocamos na pilha o diretório do pendrive, neste caso vamos trabalhar da raiz do pendrive, note que você deve saber a letra do drive do pendrive. No nosso exemplo no código está como o pendrive fosse a letra "F:" , neste caso irá estar na raiz do pendrive e poderemos prosseguir para as próximas linhas.

Na linha 11: Usaremos o comando ATTRIB (ATTRIButes = Atributos), que é utilizado para mudar os atributos de somente leitura (R = Read/Leitura), arquivamentos (A= Archive/Arquivo), do Sistema (S =System/Sistema) e Ocultos (H = Hidden/Oculto) utilizando o parâmentro - (- = Menos) para retirar esses atributos. Neste exemplo irá trabalhar em pastas e subpastas e arquivos em geral, tudo estará incluso, inclusive os vírus. pois utilizamos os caracteres *.* (qualquer nome com qualquer extensão).

Na linha 12: Nesta linha iremos de fato remover o vírus VBS em seu pendrive, note que será forçado sua deletação (/F), não irá mostrar o prompt perguntando se deseja apagar (/Q), e ainda fará isso em todas as subpastas e arquivos.

Na linha 13:  Nesta linha iremos remover os atalhos que redirecionavam para o vírus, com os mesmos parâmetros da linha 12.

Na linha 14: Neste processo você irá fechar o programa.

De fato parece ser mais complicado criar um script desses, porém, caso você deseje fazer isso em vários computadores, basta copiar, colar e executar o script em batch. Você pode observar que esse processo pode ser feito no modo gráfico, porém fazer isso sempre é muito repetitivo, por quê não tornar isso de forma mais automática? porquê não deixar que um script batch que usa linhas de comandos faça essa tarefa por você?

Sabemos que tempo é precioso nos dias atuais, e a redução de tempo para fazer determinadas rotinas é essencial atualmente. Dessa forma percebemos a importância das linhas de comandos, ainda mais, do Sistema operacional mais usado, o Windows, onde está presente na maioria das partições e departamentos públicos e privados.

As linhas de comando do CMD é de uso para usuários mais avançados, porém é necessário conhecer o máximo que puder dos comandos, porém é essencial saber os básicos, que são geralmente comandos internos do CMD, usuário básicos podem também se utilizar dessas ferramentas de comandos, para executar diversas rotinas, seja para fazer backup automático, mover ou copiar arquivos, apagar, criar, ajustar datas e horas, e muito mais...

Além de todo esse processo ser mais rápido do que na interface gráfica, é mais eficiente, pois ainda pode mostrar erros durante o processo, e o tipo de erro, que podem ser sanados.

A utilidade das linhas de comandos do CMD é extremamente crucial para diversas atividades no sistema, você já se perguntou se pode proteger sua pasta ou arquivos contra acessos, sem uso de programas externos? isso é super fácil, basta usar os comandos ICACLS ou CACLS para fazer tal execução.

Ou poder criar pastas, usa-se o comando MD, ou deletar uma pasta usa-se o DEL ou ERASE, que serve também para apagar arquivos. Se Quiser listar algum diretório temos o comando DIR, ou para exibir uma lista completa dos arquivos e pastas no computador, usamos o comando TREE, ou para gerenciamentos de redes o NET e o NETSH, e ainda temos o WMIC que é bastante repleto de comandos e subcomandos muito interessantes, com ele podemos ver diversas informações do computador.

As linhas de comando ainda podem ser extensivas, isso quer dizer que podemos usar comandos de terceiros, basta apenas instalar na pasta system32 e complementar mais a usabilidade do CMD, nosso sistema poderá ficar ainda mais poderoso.

Além disso podemos criar super Batchs (arquivos em lotes) com a integração de outras linguagens de programação, scripts client-side, tornando assim uma extensibilidade maior, mas para isso você deve saber integrar ambos, mas isso fica para um outro tópico.

Já imaginou criar seus  próprios programas com uma interface gráfica igual aos poderosos sistemas do mercado da tecnologia, para windows? Se a resposta for não, então você repensar sobre as linhas de comandos, pois é possível combinando com HTA, como disse antes basta saber fazer essa integração.

Apesar de o CMD usar-se de linhas de comandos para interagir com o usuário, podemos usar o mouse para interagir, mas como assim? como dito anteriormente, as linhas de comandos são bastantes extensíveis... Mas essa parte fica para um próximo post.

As linhas de comandos são a vista do público, como ultrapassadas, mas é de bastante utilidade, pode se ver um exemplo dos arquivos APK, que são os aplicativos do android, a GoScript está desenvolvendo um decompilador desses tipos de arquivos (APK), que mostrará o código-fonte desses aplicativos.

Como você pode perceber, a linhas de comandos do antigo MS-DOS ainda estão muito presentes hoje em dia, sendo possível até mesmo decompilar um APK ou mesmo compilar arquivos CPP para EXE, muito extensível mesmo. Você pode aprender mais e mais ao passo que você vai "descobrindo"novos comandos.

Então é isso pessoal, esperamos mesmo que você entenda o porque de se utilizar as linhas de comandos para diversas coisas no cotidiano em seu computador, Este é apenas um pequeno post breve de sua importância, contamos com todos você para fazerem nossa blogger crescer e assim continuarmos postando novos conteúdos e scripts super interessantes. Aguardamos seus feedbacks...



POWERED Go Scripts© Todos os Direitos Reservados
RM Tutoriais© Todos os Direitos Reservados
H4X0R-SW© Todos os Direitos Reservados
GoScripts Cursos Online© Todos os Direitos Reservados

NOSSAS REDES SOCIAIS

Nenhum comentário:

Postar um comentário