Article View: pl.comp.lang.vbasic
Article #104488Uruchamianie programu z parametrami
From: SP5ADX
Date: Fri, 26 Feb 2010 11:26
Date: Fri, 26 Feb 2010 11:26
100 lines
4086 bytes
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-mailShow 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