🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.vbasic
Article #104488

Uruchamianie programu z parametrami

#104488
From: 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
Technical Details
Message-ID: <73016e47-152a-4261-b40f-9bef2cb99cc2@v25g2000yqk.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!v25g2000yqk.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!v25g2000yqk.googlegroups.com!not-for-mail
From: SP5ADX <sp5adx@gmail.com>
Newsgroups: pl.comp.lang.vbasic
Subject: Uruchamianie programu z parametrami
Date: Fri, 26 Feb 2010 03:26:24 -0800 (PST)
Organization: http://groups.google.com
Lines: 108
Message-ID: <73016e47-152a-4261-b40f-9bef2cb99cc2@v25g2000yqk.googlegroups.com>
NNTP-Posting-Host: 212.160.202.180
Mime-Version: 1.0
X-Trace: posting.google.com 1267183585 31965 127.0.0.1 (26 Feb 2010 11:26:25 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 26 Feb 2010 11:26:25 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: v25g2000yqk.googlegroups.com; posting-host=212.160.202.180;  posting-account=AmRSVAoAAAA8F3SMYeSh60isu1RNdRlM
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.5)  Gecko/2008120122 Firefox/3.0.5 (.NET CLR 3.5.30729),gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit