Referência comandos arquivo BAT Windows


Esse é um guia de alguns comandos que podem ser utilizados em arquivos BAT do windows

Comentários

rem Comentário

Variáveis

Declarar variável

set TEMP=0

Variável com caminho atual

set CAMINHO=%cd%

Variável com data e hora

for /f “tokens=1-10 delims=/- “ %%a in (‘date /t’) do SET date=%%c-%%b-%%a for /f “tokens=1-5 delims=/: “ %%a in (‘time /t’) do SET hour=%%a:%%b @echo %date% %hour%

Receber parametro

teste.bat

if %1.==. goto errorParameter1 if %2.==. goto errorParameter2 @echo %1 @echo %2 goto :EOF :errorParameter1 echo First parameter not supplied exit 1 :errorParameter2 echo Second parameter not supplied exit 1

Teste de execução

teste.bat Hello!

Testar se ocorreu erro em algum comando

teste.bat

dir /xxxxxx
if not %ERRORLEVEL% == 0 goto erro1

@echo Success!

goto :EOF

:erro1
echo ERROR! #%errorlevel%.
exit /b %errorlevel%

Verificar se um arquivo ou diretório existe

if exist “c:\xxx”

if exist “c:\test.txt”

if not exist “c:\xxx” md “c:\xxx” if exist “c:\xxx” rd “c:\xxx”

Condicional SE

set VALOR=1 if %VALOR%==1 echo “VALOR IGUAL A 1”

set VALOR=1 if %VALOR%==1 (set MENSAGEM=”VALOR IGUAL A 1”) else (set MENSAGEM=”VALOR DIFERENTE DE 1”) echo %MENSAGEM%

Executar arquivo Powershell a partir de um arquivo BAT

Abaixo uma forma fácil de executar scripts powershell a partir de uma BAT. Basta criar um arquivo BAT com o mesmo nome do arquivo powershell e incluir o conteúdo abaixo:

teste.bat

	set scriptFileName=%~n0
	set scriptFolderPath=%~dp0
	set powershellScriptFileName=%scriptFileName%.ps1
	powershell -Command "Start-Process powershell \"-ExecutionPolicy Bypass -NoExit -Command `\"cd \`\"%scriptFolderPath%`\"; & \`\".\%powershellScriptFileName%\`\"`\"\" -Verb RunAs"

teste.ps1

"Hello!"

Compactação zip usando WinRAR

cd c:\temp winrar a -afzip “arquivo.zip” “.” -r

Compatar arquivo usando winrar e incluindo a data e hora no nome do arquivo compactado

SET PATH=%PATH%;C:\Program Files (x86)\WinRAR;C:\Program Files\WINRAR; for /f “tokens=1-10 delims=/- “ %%a in (‘date /t’) do SET DATA=%%c-%%b-%%a for /f “tokens=1-5 delims=/: “ %%a in (‘time /t’) do SET HORA=%%a%%b cls

rar u “arquivo-compactado-%DATA%-%HORA%.rar” “C:\Temp*.*” -r

Compactação tar.gz usando TAR

tar -czf arquivo.tar.gz -C “c:\temp” *

Compactação tar.gz usando 7z

7zg.exe a -ttar -aoa -r arquivo.tar.gz “c:\temp*.*””


Comentários