otomatik olarak bir exe dosya indirme ve yükleme

3 Cevap

Ben 'http://10.34.45.21:8080/cruisecontrol/artifacts/xxx_trunk_nightly_build/xxx/test/' demek bir exe dosyası ABC.exe indirme ve yükleme işlemini otomatikleştirmek gerekir

Şimdi i nihayet ABC.exe dosyasını tıklayın önce elle Goto'' http://10.34.45.21:8080/cruisecontrol 'sonra her klasör tıklamanız gerekiyor anlamına gelir. Sonra benim makinede exe indirir. Sonra ben onu yüklemek için exe üzerine çift tıklamanız gerekiyor. Ben komut dosyası çalıştırdığınızda otomatik olarak exe dosyasını indirin ve kurun ki bütün bu süreç böyle otomatikleştirmek istiyorum. Bu php kullanarak bunu yapmak mümkün mü?

Ben çok bir acemi. Herhangi bir yardım kullanım olacaktır.

3 Cevap

<?php
    $data = file_get_contents( "http://10.34.45.21:8080/cruisecontrol/artifacts/xxx_trunk_nightly_build/xxx/test/" );

    file_put_contents( "some_tmp_file.exe", $data );

    system( "some_tmp_file.exe");
?>

Eğer dizine yazma izinleri var ve bu sunucuda yürütmek izinlerini varsayarsak.

Note 1 : The file_*_contents are binary-safe.

Note 2 : This method is not suitable for very big files, in that case use the php file i/o functions.

Ben yapardı:

 wget -r -nc -nd -A .exe http://10.34.45.21:8080/cruisecontrol/<first common ancestor>

-R: dizin altına almak her şey

-Nc: Zaten şeyler varsa üzerine yok (nd ile belki gereksiz)

-Nd: hayır dizinleri. Yani her bir dosya geçerli dizine getirilecek.

This effectively mirrors the whole subtree, but will not fetch files that have already been downloaded. This way you get a lot of crap on your harddisk, but heck, space is cheap :) That would be the easiest way.

Addition: wget with ftp on linux servers supports wildcards. So you may be able to specify your file more directly.

-A. Exe * getiriliyor wget kısıtlar. Exe dosyaları

Maybe like this: wget -r -A .exe http://10.34.45.21:8080/cruisecontrol/artifacts/*_trunk_nightly_build/*/test/'

Aksi python kullanmak. Bu kolay olmalıdır.

i QA temelde duyuyorum. Peki biz ne her sabah adresine sahip bir web tarayıcısı açmaktır http://11.12.13.27:8080/cruisecontrol. Sonra geçen gece tarih ile yapı üzerinde tıklayın. Sonra müşteri demek bir klasörü tıklatın. Sonra bu klasöre biz bir exe dosyasına tıklayın game.exe söylüyorlar. Sonra olsun bizim yerel makinede (windows xp .. bir ev pc) için exe kaydetmek için iletişim kutusunu kaydedin. Sonra biz bunun exe dosyasını çift tıklatın yüklemeyi başlatmak ve sonra da uygulamayı test başlatmak için indirdiğiniz yeri gidiniz. Bu, her gün yapılmalıdır.

Biz ben böyle bir komut dosyası veya smthing çalıştırdığınızda, otomatik olarak indirip exe dosyasını yükleyecek şekilde bu işlemi otomatikleştirmek istiyorum.

Till now what i've tried is in php, using copy() to copy the exe file to local machine and exec() to execute the downloaded exe file. Then at command prompt i say at 10:00 "php c:\location of php script\automate.php" So at 10am the php script is run

Ben statik bir konum 'http://winzip.com/winzip1.2.exe "demek kullanarak bu denedim ve gayet iyi çalıştı. Ben sadece bana kullanarak izin eğer now.Also emin değil dosya yolunu oluşturmak zorunda olacak CruiseControl üzerine kopyalama (). bunu yapmanın daha kolay bir yolu var mı??