Ir ao conteúdo

Outro Alterar parte de uma URL e abrir link automaticamente via .BAT ( sem programas)


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

Olá pessoal, gostaria de uma ajuda em um pequeno projeto, vou explicar com o seguinte link de exemplo: http://Net:4040/URL=000000 

Eu quero que o cliente possa digitar apenas a sequência numérica dentro de uma janela do CMD por exemplo, que se refere a um número de prontuário de um cadastro do banco de dados que é o que está em negrito no final do link e o restante seja estático, é possível acessar manualmente copiando a parte estática do link, inserindo na barra de navegador e incluindo o número de prontuário logo após o sinal de "=" mas queria automatizar esse processo, a princípio estou tentando via arquivo .BAT com o comando start "url" seguido do comando set /p direcionando para "if" que abre o link com a parte estática, porém preciso que seja preenchido o final com o texto digitado de algum modo e essa parte que não estou conseguindo, porque o código funciona porém só faz abrir o navegador com a parte configurada no .BAT somente.

 

O que mais se aproximou do que eu preciso é o código abaixo que citei, porém sei que preciso definir o final da URL com a opção em /p e aí está o problema.

Há possibilidade de fazer isso? Ou podem me sugerir alguma outra forma sem programas? Muito obrigado desde já

 

set /p opcao= Digite o numero de Prontuario: 

echo ------------------------------

if %opcao% GEQ 0 goto opcao1



:opcao1

start: http://Net:4040/URL=

exit

 

 

 

 

Postado

Olá amigo,

Veja se é isso que você quer:

url66d058587c50e794.gif

@echo off
chcp 1252 >nul
set "Estatico=http://Net:4040/URL="
:Inicio
cls
echo.
set /p "opcao= Digite o numero de Prontuario ou pressione (s) para sair: " 

echo ------------------------------

IF /i "%opcao%"=="s" (Exit) else (start http://Net:4040/URL=%Opcao%)
goto :Inicio

exit 

 

  • Obrigado 1
Postado
Em 08/11/2020 às 16:44, ricardo_br disse:

Olá amigo,

Veja se é isso que você quer:

url66d058587c50e794.gif


@echo off
chcp 1252 >nul
set "Estatico=http://Net:4040/URL="
:Inicio
cls
echo.
set /p "opcao= Digite o numero de Prontuario ou pressione (s) para sair: " 

echo ------------------------------

IF /i "%opcao%"=="s" (Exit) else (start http://Net:4040/URL=%Opcao%)
goto :Inicio

exit 

 

Peguei o link é esse abaixo:

http://haoc-ged-01:5252/Login/AcessoDiretoHIMSS?usuario=USER_TASY&atendimento=

 

Tentei usar da seguinte forma e não foi. Consegue verificar o motivo?

 

@echo off

chcp 1252 >nul
set "Estatico=http://haoc-ged-01:5252/Login/AcessoDiretoHIMSS?usuario=USER_TASY&atendimento="
:Inicio

echo.
set /p "opcao= Digite o numero do Prontuario ou pressione (s) para sair: " 

echo ------------------------------

IF /i "%opcao%"=="s" (Exit) else (start http://haoc-ged-01:5252/Login/AcessoDiretoHIMSS?usuario=USER_TASY&atendimento=%Opcao%)
goto :Inicio

exit

 

  • Solução
Postado

Em Batch E comercial "&" é um caractere especial que indica que você quer usar 2 comandos na mesma linha. E como a sua URL contem um caráctere desse deve estar dando algum erro...

 

Para que o E comercial seja visto como apenas texto você pode usar um caractere de escape "^" antes do "&" ex:

ao invéz de:

TASY&atendimento=

Você usa:

TASY^&atendimento=

 

Ou então pode fazer assim:

 

set "Estatico=%Estatico:&=^&%"

 

Esse comando substituii automaticamente "&" por "^&" dentro da variável "Estatico".

 

@echo off

chcp 1252 >nul
set "Estatico=http://haoc-ged-01:5252/Login/AcessoDiretoHIMSS?usuario=USER_TASY&atendimento="
set "Estatico=%Estatico:&=^&%

:Inicio
set opcao=
echo.
set /p "opcao= Digite o numero do Prontuario ou pressione (s) para sair: " 

echo ------------------------------

IF /i "%opcao%"=="s" (Exit) else (start %Estatico%%Opcao%)
goto :Inicio
exit

 

  • Obrigado 1
Postado
4 horas atrás, ricardo_br disse:

Em Batch E comercial "&" é um caractere especial que indica que você quer usar 2 comandos na mesma linha. E como a sua URL contem um caráctere desse deve estar dando algum erro...

 

Para que o E comercial seja visto como apenas texto você pode usar um caractere de escape "^" antes do "&" ex:

ao invéz de:

TASY&atendimento=

Você usa:

TASY^&atendimento=

 

Ou então pode fazer assim:

 

set "Estatico=%Estatico:&=^&%"

 

Esse comando substituii automaticamente "&" por "^&" dentro da variável "Estatico".

 

@echo off

chcp 1252 >nul
set "Estatico=http://haoc-ged-01:5252/Login/AcessoDiretoHIMSS?usuario=USER_TASY&atendimento="
set "Estatico=%Estatico:&=^&%

:Inicio
set opcao=
echo.
set /p "opcao= Digite o numero do Prontuario ou pressione (s) para sair: " 

echo ------------------------------

IF /i "%opcao%"=="s" (Exit) else (start %Estatico%%Opcao%)
goto :Inicio
exit

 

Usei a primeira solução com o caracter de escape. It works like a charm !

Agradeço de coração cara ajudou demais muito obrigado

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...