Ajuda com ficheiro batch

m00nbl00d

Power Member
Boa tarde.

Estive à procura através do Procurar, mas não encontrei, e até agora, também não encontrei nada pela Internet.

É o seguinte. Eu quase nada percebo sobre ficheiros batch. De moment, sei criar alguns bastante básicos, mesmo.

Eu gostaria de saber se alguém mais entendido nestes assuntos, não se importaria de me indicar a melhor forma sobre como criar um ficheiro batch que me permita, de uma forma automática, verificar se existe ou não alguma nova versão para X programa, ligando-se para tal à Internet, quando manualmente iniciado por mim.
Caso haja uma nova versão, e se for ficheiro .exe, .msi, então perguntar se pretendo fazer a transferência e para onde.

Uma outra coisa. Supondo que, X aplicação vem compactada em ficheiro zip, ou outro formato, ter indicado no ficheiro batch o caminho para o programa de compactação/descompactação, e automáticamente, e por defeito extrair e substituir a pastas e ficheiros que se encontrem em C:\Program Files\Pasta qualquer, por exemplo.

Vamos imaginar que numa situação normal, o ficheiro ao ser descompactado sê-lo-ia para duas pastas:

C:\Program Files\Pasta qualquer 1\Pasta qualquer 2

Mas eu queria que se extraísse para a Pasta qualquer 1, e não a 2.


Espero que não seja muito confuso. Caso seja necessário, tentarei explicar melhor. Espero que me possam ajudar.


Obrigado pelo vosso tempo.
 
Pelo que percebi queres ter um batch que verifique se existe alguma versão nova de um dado executavel.

pa pelo que entendo disso, acho melhore esqueceres como diz no post anterior terias de andar com muitos comandos só para realizares a conecção, visto que o batch n é autosuficiente.. no ubunto existem repositorios de informação e a coisa funciona de outra maneira. em termos de windows e batch repositorios de informaçao esquece. e qt a verificares se existe alguma versão nova de um ficheiro é praticamente impraticavel porque para saberes isso sem descarregares o ficheiros ou terias de ter um local onde te diria que versão esta alocada no repositorio ou n tou a ver outra solução.
 
Bem, o ficheiro batch permite a transferência, mas por alguma razão, e neste caso em específico ao usar o 7zip, não consegue extrair os ficheiros para o caminho C:\Programas\Chromium

O ficheiro batch é o seguinte:

cd /d C:\Programas\
bitsadmin /transfer latest http://build.chromium.org/buildbot/snapshots/chromium-rel-xp/LATEST %temp%\LATEST
setlocal enabledelayedexpansion
set SEPARATOR=/
for /f "delims=" %%a in (%temp%\LATEST) do (
set filecontent=%%a
)
bitsadmin /transfer chrome http://build.chromium.org/buildbot/snapshots/chromium-rel-xp/%filecontent%/chrome-win32.zip %temp%\chrome-win32.zip
rd /s /q Chromium-backup
ren Chromium Chromium-backup
"c:\Program Files\7-zip\7z.exe" x %temp%\chrome-win32.zip
ren chrome-win32 Chromium
del %temp%\LATEST

E surge estes erros:

DISPLAY: 'chrome' TYPE: DOWNLOAD STATE: TRANSFERRED
PRIORITY: NORMAL FILES: 1 / 1 BYTES: 14232673 / 14232673 (100%)
Transfer complete.

C:\Programas>rd /s /q Chromium-backup
O sistema não conseguiu localizar o ficheiro especificado.

C:\Programas>ren Chromium Chromium-backup
Acesso negado.

C:\Programas>"c:\Program Files\7-zip\7z.exe" x C:\Users\USER-C~1\AppData\Local\T
emp\chrome-win32.zip

7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03

Processing archive: C:\Users\USER-C~1\AppData\Local\Temp\chrome-win32.zip

can not open output file chrome-win32\chrome.dll
can not open output file chrome-win32\chrome.exe
can not open output file chrome-win32\crash_service.exe
file chrome-win32\First Run
already exists. Overwrite with
chrome-win32\First Run?
(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit?

Ao clicar Y, surgem os mesmos erros. Acredito que seja devido ao facto de estar numa conta de utilizador limitada e com o UAC activado.

Há alguma maneira, através de comandos no ficheiro batch, de ultrapassar esta barreira?
 
Back
Topo