Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Glauco Ribeiro

[Resolvido] msdos

Recommended Posts

Boa tarde.

Gostaria sabe se seria possivel gravar o resultado do comando "wmic bios get serialnumber" em uma arquivo txt?

Poderiam me passar as linhas de comando para uma bat.

 

So para entenderem melhor. wmic bios get serialnumber - comando para pegar o serial da maquina.

@echo off
Set sn= wmic bios get serialnumber

echo %sn%01>>teste.txt

 

Esse comando nao funciona da forma que eu gostaria, ele escreve no arquivo .txt o comando em si nao o seu resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode se apoiar num arquivo temporário, deletando-o depois:

 

@echo off
wmic bios get serialnumber > tmpFile
set /p sn= < tmpFile
del tmpFile

echo %sn%01>>teste.txt

Ou não, mas é um pouquinho mais complexo:

 

@echo off
for /f "tokens=*" %%a in (
 'reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v desktop'
) do (
 set var=%%a
)
echo %var% > log.txt
endlocal
goto :eof

Este segundo exemplo a saída resultou em:

 

desktop REG_SZ C:\Documents and Settings\usuario\Desktop

Só coloquei porque o SEU comando não retornada nada além do 01 literal que você adicionou.

 

Outra diferença. Nos meus exemplos eu usei > que substitui conteúdo do arquivo, enquanto você usou >> que vai acumulando os vários outputs no mesmo arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode se apoiar num arquivo temporário, deletando-o depois:

 

@echo off
wmic bios get serialnumber > tmpFile
set /p sn= < tmpFile
del tmpFile

echo %sn%01>>teste.txt

Ou não, mas é um pouquinho mais complexo:

 

@echo off
for /f "tokens=*" %%a in (
 'reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v desktop'
) do (
 set var=%%a
)
echo %var% > log.txt
endlocal
goto :eof

Este segundo exemplo a saída resultou em:

 

 

Só coloquei porque o SEU comando não retornada nada além do 01 literal que você adicionou.

 

Outra diferença. Nos meus exemplos eu usei > que substitui conteúdo do arquivo, enquanto você usou >> que vai acumulando os vários outputs no mesmo arquivo.

 

Po eu gostaria que ele retornasse o valor do comando wmic bios get serialnumber, no meu caso o comando executado no cmd mostra cnu2120yqv.

 

Alterei o codigo e apenas escreve echo is off.

@echo off
wmic bios get serialnumber > tmpFile
set /p sn = < tmpFile
del tmpFile

echo %sn% > teste.txt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vou mentir dizendo que tenho certeza do que ocorre, mas a remoção do 01 literal é o que caracteriza tal "falha".

 

Quanto a retornar esse código para você e não retornar para mim, executando este comando direto no DOS eu recebo 8 zeros.

 

De repente zeros são ignorados e daí a variável aparenta estar vazia.

 

Agora, será que para retornar algo como para você, alguma dependência, de algum compoenente não seria necessária?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei direito o porque retorna 8 zeros para você, creio que seu computado nao seja de uma distribuidora. Essa bate seria para computadores comprados de fabricantes que assim os dados do computador estao cadastrados na bios.

 

aqui o comando

wmic bios get serialnumber

funcionar perfeitamente por ser um produto HP.

 

ao executar o comando diretos no cmd ele retorna o SN perfeitamente, creio que a bate esta faltando alguma coisa, ela nao esta atribuindo o set sn como o comando em si, mas sim como uma variavel de caracteres.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom.

 

Mas o meu é de "marca" também, mas é uma marca furreca de uma industria que tem aqui na cidade. :yay:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.