🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
3 messages
3 total messages Started by SP5ADX Fri, 26 Feb 2010 11:26
Uruchamianie programu z parametrami
#104488
Author: SP5ADX
Date: Fri, 26 Feb 2010 11:26
100 lines
4086 bytes
Witam wszystkich,
Mam strasznie upartego szefa, który chce za pomocą vbs wywołać program
z parametrami. Niestety nie znam na tyle vb żeby sobie poradzić z tym
"dziwnym" zadaniem. Zrobiłem taki program w c++, ale uparty szef kręci
nosem, mimo, iż robi to co powinien.

Zadanie jest takie:
plik.txt zawiera numery projektów które wyglądają następująco:
10.12345.3.1
11.33333.3.2
19.44444.3.1.1.1
itd.

Wywołać program stsadm.exe z pewnymi parametrami.

Komenda wygląda tak:
stsadm.exe -o import -includeusersecurity -updateversions 3 -url
"http://cop/z1/10_12345" -filename "g:\archiwum\z1_wzor.dat"

To co widać w URL: 10_12345 ma się pobierać z pliku tekstowego czyli:
pobierz 8 znaków
zamień znak "." na "_"

Komenda ma się wykonać tyle razy, ile jest w pliku numerów projektów.
Po zakończeniu działania skryptu plik.txt musi być wyczyszczony
(pozostaje pusty).

Skrypt będzie uruchamiany na 2003 server raz na godzinę.

Może ktoś z Was wie jak to zrobić za pomocą VB?

-------------------------------------------------------
Dla porządku podaję mój kod z c++

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <string>
#include <windows.h>

using namespace std;

int main () {

    //pobranie ścieżki  nazwy programu do wykonania
    //pobranie ścieżki i nazwy pliku z argumentami
    ifstream config("conf.ini");
    string program, wsad;
    config >> program;
    config >> wsad;
    config.close();
    ifstream file(wsad.c_str());
    //wywołanie
    string call;
    string call2;
    string args;
    size_t i;
    while(!file.eof())
    {
        //pobranie argumentow
        file >> args;
        args.replace(2,1,"_");
        string arg1 (args,0,8);
        i = args.find_first_of(";");
        string arg2 (args,int(i+1),args.length());
        args.replace(2,1,".");
        string arg3 (args,0,8);

        call = program + " -o import -includeusersecurity -
updateversions 3 -url \"http:\/\/cop\/z1\/" + arg1 + "\" -filename
\"g:
\\archiwum\\z1_wzor.dat\"";
 //       call2 = program + " -o renameweb  -url \"http:\/\/cop\/z1\/"
+ arg1 + "\" -newname \"" + arg3 + " " + arg2 + "\"";

        cout << "Komenda 1: " << call << " \n\n";
  //      cout << "Komenda 2: " << call2 << " \n\n";
        system("PAUSE");

        cout << "\nWywoluje komende 1...\n";
        system(call.c_str());
  //      cout << "Wykonuje komende 2...\n\n";
  //     system(call2.c_str());
        //cout << program << " " << arg1 << " " << arg2 << endl;
    }
    file.close();
    ofstream clear(wsad.c_str());
    clear.flush();
    clear.close();

    cout << "\nKoniec dzialania programu. Dziekuje za uwage \:\-\)\n
\n";
    system("PAUSE");
    return 0;
}

-----------------------

Radek
Re: Uruchamianie programu z parametrami
#104489
Author: Waldi
Date: Fri, 26 Feb 2010 17:47
26 lines
2042 bytes
>Zadanie jest takie:
>plik.txt zawiera numery projektów które wyglądają następująco:
>10.12345.3.1
>11.33333.3.2
>19.44444.3.1.1.1
>itd.

>Wywołać program stsadm.exe z pewnymi parametrami.

>Komenda wygląda tak:
>stsadm.exe -o import -includeusersecurity -updateversions 3 -url 
>"http://cop/z1/10_12345" -filename "g:\archiwum\z1_wzor.dat"

w VB 6 zmienna command$ zawiera to co znajduje sie ajko parametr 
uruchomienia programu
czyli w tym przypadku co podałeś wyżej bedzie
command$ = -o import -includeusersecurity -updateversions 3 -url 
"http://cop/z1/10_12345" -filename "g:\archiwum\z1_wzor.dat"

wystarczy aby

If command$ <> "" then  call Twoja procedura

jezeli chcesz testować bez kompilacji to z menu Project -  Properties - Make
znajdż i wypełnij Command Line Arguments
Re: Uruchamianie programu z parametrami
#104490
Author: SP5ADX
Date: Tue, 02 Mar 2010 06:21
27 lines
2221 bytes
On 26 Lut, 18:47, "Waldi" <n...@wp.pl> wrote:
> >Zadanie jest takie:
> >plik.txt zawiera numery projektów które wyglądają następująco:
> >10.12345.3.1
> >11.33333.3.2
> >19.44444.3.1.1.1
> >itd.
> >Wywołać program stsadm.exe z pewnymi parametrami.
> >Komenda wygląda tak:
> >stsadm.exe -o import -includeusersecurity -updateversions 3 -url
> >"http://cop/z1/10_12345" -filename "g:\archiwum\z1_wzor.dat"
>
> w VB 6 zmienna command$ zawiera to co znajduje sie ajko parametr
> uruchomienia programu
> czyli w tym przypadku co podałeś wyżej bedzie
> command$ = -o import -includeusersecurity -updateversions 3 -url
> "http://cop/z1/10_12345" -filename "g:\archiwum\z1_wzor.dat"
>
> wystarczy aby
>
> If command$ <> "" then  call Twoja procedura
>
> jezeli chcesz testować bez kompilacji to z menu Project -  Properties - Make
> znajdż i wypełnij Command Line Arguments

yyy... a odczyt z pliku, czyszczenie, zwrócenie parametru do shella?
Jak to powinno wyglądać w VB?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads