Windows CMD / Script BAT / EXE usando funções do PHP Automação (Scriptcase)

Amigos,

As vezes precisamos fazer automações em nossos clientes usando Script Batch CMD linha
de comando, como a linguagem do MS Script Batch é limitada podemos usar totalmente
as funções do PHP para auxiliar o Script e até fazer REST API com nossos sistemas
webs feitos em Scriptcase.

Exemplo:
Criando Script Batch que envia dados para o PHP e recebe o retorno como variável que
podemos usar ao longo do código Batch no Windows.
Criar uma pasta na raiz chamada C:\BAT

Entrar na pasta Scriptcase onde esta instalado o PHP:
C:\Program Files\NetMake\v9-php73\components\php

Copiar os arquivos:
php.ini, php.exe, php7.dll, php7embed.lib, php7phpdbg.dll para a pasta C:\BAT

Abrir o arquivo php.ini no C:\BAT selecionar e remover tudo e deixar ele assim
caso não for usar nenhuma extensão extra, caso for adicione ela removendo os ;
e colocando o nome da mesma e copie ela na pasta C:\BAT

[PHP]

extension_dir = "."
; extension=curl
; extension=fileinfo
; extension=gd2

Agora vamos criar um Script que só recebe informações vindo do PHP:
Criar um arquivo no Notepad++ com formatação ANSI:
teste_retorno.bat

@echo off
chcp 1252

for /F "delims=" %%r in ('C:\BAT\php.exe -f C:\BAT\rotina_retorno.php') do set retorno_php=%%r

echo O Retorno do PHP foi: %retorno_php%

Criar um arquivo no Notepad++ com formatação ANSI:
rotina_retorno.php

<?php     
setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set('America/Sao_Paulo');

$_Data = date("Y-m-d H:i:s");
 
echo $_Data;

?>

Agora vamos enviar a varíavel para o PHP e receber o retorno.

Criar um arquivo no Notepad++ com formatação ANSI:
teste_envio.bat

@echo off
chcp 1252

for /F "delims=" %%r in ('C:\BAT\php.exe -f C:\BAT\rotina_envio.php teste_variavel') do set retorno_php=%%r

echo O Retorno do PHP foi: %retorno_php%

Criar um arquivo no Notepad++ com formatação ANSI:
rotina_envio.php

<?php     
setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set('America/Sao_Paulo');

$_Variavel = $argv[1];
 
echo 'Variável Recebida no PHP= '.$_Variavel;

?>

Caso quiserem converter os arquivos .bat em .exe que podem distribuir como
utilitários livre de Royalties ilimitados tem este software:

Advanced BAT to EXE Converter é a melhor escolha para compilar seus arquivos em lote para . EXE
para distribuir comercialmente. Advanced BAT to EXE Converter criptografa seu código e cria um
Windows nativo real . Programa EXE. estes. O EXE não requer nenhum software
pré-instalado para funcionar e pode ser assinado digitalmente.