Thread View: pl.comp.lang.vbasic
3 messages
3 total messages
Started by SP5ADX
Fri, 26 Feb 2010 11:26
Uruchamianie programu z parametrami
Author: 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
Re: Uruchamianie programu z parametrami
Author: Waldi
Date: Fri, 26 Feb 2010 17:47
Date: Fri, 26 Feb 2010 17:47
26 lines
2042 bytes
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
Author: SP5ADX
Date: Tue, 02 Mar 2010 06:21
Date: Tue, 02 Mar 2010 06:21
27 lines
2221 bytes
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