Batch-Satti
Se você ainda não é um membro cadastre-se!

Existem centenas de scripts para quem é membro.

As categorias para os membros cadastrados são:

BATCH-SCRIPTS COMPLETO.
(Espaço onde são postados os scripts que tenham funcionalidade completa)
BADCONS VIRUS E TROJANS .
(Espaço onde são postados scripts e técnicas em vírus trojans e worm baseados em scripts )
SOMENTE PARA MEMBROS.
(Espaço destinado aos membros discutirem ou tirarem duvidas)
TUTORIAIS E EXPLICAÇÕES.
(Aqui são colocadas as explicações de comandos e técnicas para confecção de scripts )

EXISTEM MUITAS OUTRAS CATEGORIAS MÁS ESSAS SÃO AS PRINCIPAIS !

ENTRE E PARTICIPE !!!!!!!
MENSAGENS AOS MEMBROS :
TIVEMOS QUE AUTORIZAR PROPAGANDAS NO FORUM E TALVEZ O FIREFOX E OUTROS NAVEGADORES NÃO FUNCIONEM
UTILIZEM O INTERNET EXPLORER OU ATUALIZEM PARA O FIREFOX 4.0 BETA

ASS. BOSS-HEAD


Pesquisa personalizada

[DUVIDA]Setar variáveis

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[DUVIDA]Setar variáveis

Mensagem por azothdm em Ter Fev 17, 2009 12:55 am

Olá a todos!
Gostaria de saber se é possível colocar em uma variável o diretório onde o bat está sendo executado. A intenção disso, é fazer com que ele compare esse valor com o outro. Exemplo:

Digamos que inicialmente o bat foi instalado em c:/bat

Na inicialização do programa, é feita a verificação se o mesmo encontra-se no diretório original de instalação, c:/bat, colocado na variável, inst no momento da instalação e permanescendo salvo em um arquivo de configuração.

O diretório atual, de execução do bat será colocado em outra variável: atual. Após essas duas variáveis seriam comparadas e se diferirem, o programa se excluirá automaticamente.

O problema está em colocar o diretório atual de execução do programa em uma variável automaticamente.

pelo que verifiquei nos programas aqui criados, acho que isso vai ser molesa pra vocês. Espero me ajudarem

Obrigado

azothdm

azothdm

Idade : 33

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Boss-Head em Ter Fev 17, 2009 9:38 am

exemplo :
salve esse script em quaquer pasta e execute !
depoi crie uma pasta em C:\teste e salve ele dentro e execute !
espero que seja essa sua duvida !

@echo off
if %~d1%~p1%0=="C:\teste\%~n0%~x0" echo você está no diretorio certo&goto sai
echo você está no diretorio errado
pause
exit
:sai
pause
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Ryokusei Wing em Ter Fev 17, 2009 11:50 pm

Não entendi muito bem a dúvida.
Mas tente usar a variável "%cd%".

Ex:

Código:
@echo off
set main_dir=%cd%
Bla
bLa
blA
if "%cd%" neq "%main_dir%" (echo diretório incorreto)
avatar
Ryokusei Wing

Idade : 24

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por azothdm em Qua Fev 18, 2009 5:48 pm

Ryokusei Wing escreveu:Não entendi muito bem a dúvida.
Mas tente usar a variável "%cd%".

Ex:

Código:
@echo off
set main_dir=%cd%
Bla
bLa
blA
if "%cd%" neq "%main_dir%" (echo diretório incorreto)


Olá Ryokusei Wing. Obrigado pela ajuda, não sabia que já existia uma
variável do diretório %cd%. Fiz o programa da seguinte forma:

Código:
@echo off
:: Renomeia o arquivo de configuração e o chama para setar as variáveis
ren conf.gp set.bat
call set.bat

:: Mostra as variáveis só para confirmação
echo. %cd%
echo. %unid%

:: Condição
if "%cd%"=="%unid%" (
  echo.&echo. Executa o programa pois o diretorio esta correto!
  goto fim
  ) ELSE (
  echo.&echo. Nao executa o programa pois o diretorio nao esta correto!
  goto fim
  )

:fim
ren set.bat conf.gp

Obrigado pela ajuda.

Gostaria de agradecer também ao Boss-Head por responder, porém não obtive sucesso ao fazer o que por ele foi sugerio.

Obrigados a todos

azothdm

azothdm

Idade : 33

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Boss-Head em Qua Fev 18, 2009 6:30 pm

O set.bat contem a variavel de onde deve ser instalado o programa ?

Só por curisidade roda esse script e veja se ele funciona tambem.
Utilizei o mesmo seu só mudei o tipo de comparação!


@echo off
:: Renomeia o arquivo de configuração e o chama para setar as variáveis
ren conf.gp set.bat
call set.bat

:: Mostra as variáveis só para confirmação
echo. %~d1%~p1%0
echo. "%unid%\%~n0%~x0"

:: Condição
if %~d1%~p1%0=="%unid%\%~n0%~x0" (
echo.&echo. Executa o programa pois o diretorio esta correto!
goto fim
) ELSE (
echo.&echo. Nao executa o programa pois o diretorio nao esta correto!
goto fim
)

:fim
ren set.bat conf.gp
pause
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por azothdm em Qua Fev 18, 2009 7:59 pm

Olá Boss-Head

No momento continuo fazendo o programa, então ainda possuo carregada todos as variáveis de set.bat. Utilizando os comandos que você passou não consegui executar a tarefa. Fiz o seguinte:

coloquei
echo. %~d1%~p1%0
echo. "%unid%\%~n0%~x0"

um de cada vez na linha de comendo do cmd, e ele não mostrou os diretórios correspondentes para:
echo. %cd%
echo. %unid%

executando a condição if %~d1%~p1%0=="%unid%\%~n0%~x0" não haveria resultado, uma vez que ele não consegui testar a condição. Poderia me explicar o por que dos valores "%~d1%~p1%0" e "%~n0%~x0"?

Grato

azothdm

azothdm

Idade : 33

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Boss-Head em Qua Fev 18, 2009 8:32 pm

Eu utilizo esse tipo de comando a algum tempo !
então para mim é familiar !
Um dos motivos de trabalhar com ele é esse !
[Você precisa estar registrado e conectado para ver este link.]

O outro é esse
Código:
@echo off
set cd=joaquim
ren conf.gp set.bat
call set.bat


echo. %cd%
echo. %unid%


if "%cd%"=="%unid%" (
  echo.&echo. Executa o programa pois o diretorio esta correto!
  goto fim
  ) ELSE (
  echo.&echo. Nao executa o programa pois o diretorio nao esta correto!
  goto fim
  )

:fim
ren set.bat conf.gp
pause
Ou esse
Código:
@echo off
ren conf.gp set.bat
call set.bat
cd c:\
echo. %cd%
echo. %unid%
if "%cd%"=="%unid%" (
  echo.&echo. Executa o programa pois o diretorio esta correto!
  goto fim
  ) ELSE (
  echo.&echo. Nao executa o programa pois o diretorio nao esta correto!
  goto fim
  )
:fim
ren set.bat conf.gp
pause
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Boss-Head em Qua Fev 18, 2009 9:28 pm

Os comandos que postei são visiveis somente dentro de um .bat
portanto salve esse script abaixo com qualquernome.bat e execute ele !
E tenho certeza que irá entender as variáveis descritas nele !
%0 faz referencia a sí próprio %1 faz referência a outro
Estou postando não só para você más pra todos que querem aprender ,
sei que seu script já está funcionando, más só queria concluir a teoria .
Os exemplos que citei acima de possiveis problemas eu já me deparei com eles .

Código:
@echo off
echo você está vendo na tela os atributos e
echo caminho do arquivo atual
echo.
echo Nome completo entre aspas---: %0
echo Caminho arquivo s/ aspas----: %~f0
echo Disco-----------------------: %~d0
echo Somente caminho-------------: %~p0
echo Nome------------------------: %~n0
echo Extensao--------------------: %~x0
echo Caminho abreviado-----------: %~s0
echo Atributos-------------------: %~a0
echo Criado em-------------------: %~t0
echo Tamanho---------------------: %~z0
pause

echo Agora vamos chamar um outro arquivo para ver seus atributos
echo.
echo Digite o nome e caminho de outro arquivo pode ser .exe etc.
echo.
set /p arquivo= Ou arraste e solte ele aqui
call :teste %arquivo%
:teste
echo.
echo Nome completo entre aspas---: %1
echo Caminho arquivo s/ aspas----: %~f1
echo Disco-----------------------: %~d1
echo Somente caminho-------------: %~p1
echo Nome------------------------: %~n1
echo Extensao--------------------: %~x1
echo Caminho abreviado-----------: %~s1
echo Atributos-------------------: %~a1
echo Criado em-------------------: %~t1
echo Tamanho---------------------: %~z1
pause
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por azothdm em Qua Fev 18, 2009 10:12 pm

Olá Boss-Head

Muito útil os comandos apresentados por você. Agradeço muito...

Fiz e agora deu certo...

Grado

azothdm

azothdm

Idade : 33

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Norton em Qui Ago 19, 2010 8:47 pm

Sei que o tópico é antigo mas está perfeito para minha pergunta.
Tem como usar essas pegar uma dessas propriedades (ex: somente caminho) diretamente na variavel? Algo como %variavel%%~p1?

Já sei fazer com call :teste %variavel% mas queria saber se tem um meio mais prático ^^

Grato.

Norton

Idade : 26

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por C-Com em Dom Ago 22, 2010 11:35 am

Tem como usar essas pegar uma dessas propriedades (ex: somente caminho) diretamente na variavel? Algo como %variavel%%~p1?

Diretamente eu acredito que não... mas você poderia, alternativamente, usar um for pra transferir o corpo da string que contém o nome. Por exemplo:

Código:
for /f "delims=*" %a in ("%arquivo%") do echo %~pa

avatar
C-Com


Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Norton em Dom Ago 22, 2010 2:35 pm

Valeu pela resposta =D

Norton

Idade : 26

Voltar ao Topo Ir em baixo

Re: [DUVIDA]Setar variáveis

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum