Glauco Ribeiro 0 Denunciar post Postado Junho 21, 2012 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
Bruno Augusto 417 Denunciar post Postado Junho 21, 2012 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
Glauco Ribeiro 0 Denunciar post Postado Junho 21, 2012 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
Bruno Augusto 417 Denunciar post Postado Junho 21, 2012 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
Glauco Ribeiro 0 Denunciar post Postado Junho 22, 2012 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
Glauco Ribeiro 0 Denunciar post Postado Junho 22, 2012 Consegui. wmic bios get serialnumber > teste.txt Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 23, 2012 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