[megoldva] paraméter bekérése hogyan?

 ( begyu | 2012. január 17., kedd - 15:53 )

Hi!

Most Windows-al szívok éppen.
Hogy lehet bármilyen szöveget bekérni, amit aztán átpasszolni kéne egy .bat állománynak?
Nem találtam ehhez semmi wines eszközt!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

call bat1.bat %1
:)

Két perc guglizás: http://ss64.com/nt/set.html

Sajnos sem a "SET", sem a "choice" nem játszik.
A felhasználótól kellene bekérni a szöveget.

:(

Most nem értem, ha egy .bat fájlnak akarsz átadni valamit paraméterben, akkor %1, %2, stb. változókon keresztül eléred.

pl.

> type foo.bat
echo a parameter: %1
> foo asdf
a parameter: asdf
>

Ha viszont a bat fájlon belül akarsz futásidőben bekérni, akkor a SET /P kell neked

pl.

> type bar.bat
echo irj be valamit
SET /P A=
echo amit beirtal: %a
> bar
irj be valamit
(asdf)
amit beirtal: asdf
>

----------------
Lvl86 Troll

Köszönöm, ez az!

p.s.: Megint kiderült, hogy milyen hülye vagyok.
Ilyenekkel próbálkoztam:

#include
#include
#include

int main(int ac, char **av)
{
char *s = NULL;
char buf[128];

if (ac == 3)
{
s = av[1];
fprintf(stderr, "\n%s: ", av[2]);
gets(buf);
printf("%s", buf);
execlp(s, s, buf, 0);
}
else
{
s = (char *)basename(av[0]);
printf("Hasznalat:\t%s \n", s);
return -1;
}
return 0;
}

bár pont ezt szerettem volna elkerülni.

Nem lett volna egyszerűbb elolvasni azt, amit zamboriz linkelt? :)

----------------
Lvl86 Troll

De, természetesen.

Az a helyzet, hogy alábecsültem a Windows képességeit, és nem is számítottam arra, hogy ez az egész könnyen megoldható lesz. Tévedtem. :)

Oké, hogy a szimpla Windows parancssor nem egy nagyágyú, de azért ennyire az sem primitív ;)

----------------
Lvl86 Troll

Függetlenül attól, hogy a cmd-vel - némi vesződség, és kissé hülye paradigmák elfogadása árán - el lehet boldogulni, ha már C kód írására is képes vagy egy kis parancssorért, érdemes (és érdekes) volna elkezdeni haverkodni a PowerShellel.

Korábban odáig jutottam el, hogy belenéztem a PS helpjébe és azt láttam, hogy túl sokrétű ahhoz, hogy belebonyolódjak és még az sem látszott, hogyan kezdjek hozzá.

Azért az MS-DOS már egy picit elmúlt...

----------------
Lvl86 Troll