Batch programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


supesz
(aktív tag)
Blog

Azt lehet szerintetek (egy batch-vel), hogy az aktuális dátummal összehasonlítom a fájl (létrehozásának) dátumát és, ha az egy értéknél nagyobb, akkor végrehat egy utasítást.


Lortech
(addikt)

Ha komolyabb scripteket kell írni, akkor eléggé felejtős a dosos batch maradvány..

wshost féle vbs vagy jscript-tel érdemes megismerkedni:

pl:

Set fileobj = CreateObject("scripting.filesystemobject")
Set file = fileobj.GetFile("autoexec.bat")
createdate = file.DateCreated

If DateDiff("d", createdate, Now) > 100 Then '"d" = két dátum különbsége napban, ha 100 napnál nagyobb a difi"
Wscript.Echo "100 napnál régebbi: " & DateDiff("d", createdate, Now) & " napos"
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run "C:\akarmi.exe" 'akarmi.exe futtatása'
Else
WScript.Echo "100 napnál korábbi: " & DateDiff("d", createdate, Now) & " napos"
End If


Lortech
(addikt)

Erre meg valami ilyesmit tudok elképzelni:

del ftp.txt
echo open ftp.akarmi.com >>ftp.txt
echo user>>ftp.txt
echo pass>>ftp.txt
echo cd cel/ >>ftp.txt
echo put %1 >>ftp.txt
echo put %2 >>ftp.txt
echo quit >>ftp.txt
ftp.exe -s:ftp.txt


supesz
(aktív tag)
Blog

Apám! (Wow)

Most komolyan mondom, hogy kitaláltad a gondolatomat!
Ezt akartam kérdezni:
Tö*öm tele van a DOS batch állományaival. Miben érdemes scriptelni, ha komolyabban akarom automatizálni a munkámat?

Mi az a wshost féle vbs? (a jscript-et értem).

Ja! Köszi! :R

supesz


Lortech
(addikt)

Windows Scripting Host és Visual Basic script.
Visual Basic szintaktikában lehet vbs-t gyártani, elnevezed vbs-nek a fájlt és a wsh futtatja. Windows administeringre (is) használatos. Bővebb infókat keresőkkel találhatsz, lehet találni számtalan tutorialt és példakódokat.

[ Szerkesztve ]


supesz
(aktív tag)
Blog

Van itthon tananyagom a javascripthez és a W3School is segít.
A kérdésem csak az, hogy ezzel, hogyan fogom tudni automatizálni a munkámat a windowsban? Itt minden tele van azzal, hogy a javascriptet a böngésző fodítja éssatöbi. Hogyan fogom ezt lefuttatni hasonlóan egy batch állományhoz?


Lortech
(addikt)

Én nem javascriptet írtam, hanem Jscriptet, nem teljesen ugyanaz a kettő, és főleg nem ugyanarra használatos. Másrészről meg semmi köze a böngészőkhöz annak, amit én ajánlottan, mert mint mondtam, a Wshost szolgáltatás futtatja a gazdagépen, és szinte bármilyen adminisztrátori scriptelési feladat megoldható velük. Írtam egy példát is, miért nem nézed meg azt, hogy fogalmad legyen róla?

pelda
Mentsd le a vbs fájlt, és futtasd le.

tutorialok:
[link]
[link]

szerk: vbsedit nevezetű shareware program is sokat segíthet az indulásban, van benne egy rakat sample.

[ Szerkesztve ]


supesz
(aktív tag)
Blog

Én megnéztem a példafájlodat, de nem gondoltam, hogy le is tudom futtatni :B
Na mindegy. Szóval, akor én összekevertem a szezont a fazonnal.
A JScript az nem JavaScript. Kár pedig elég jól belejöttem itthon a gyakorlásába :) (kárba nem megy).
Szóval engem tényleg érdekel a Batchon kívül vmi használható script nyelv, de semmiképpen sem egy teljes prognyelv (még).

Megnézem azokat a tutorialokat, amiket linkeltél.
Legalább kicsit helyre áll a kép a fejemben (tényleg azt hittem, hogy a JScript az JavaScript, a másikról meg nem is hallottam :lol:).

Ha van kérdésem, akkor kereslek, ha nem baj.
Persze nem privátba, hanem keresek egy irányult topikot (Biztos van).

Mégegyszer köszi. :R


Lortech
(addikt)

Majdnem ugyanaz a kettő, szintaktika uaz, kis különbségek vannak, és a név. Az MS, mint sok másból, ebből is csinált saját implementációt.


supesz
(aktív tag)
Blog

Ja. Látom. :U

JavaScript:

document.write("1+1=" + 1+1 + ".");

VBScript:

MsgBox ("1+1=" & 1+1 & ".")

Ez a VBScript dolog fogott meg, most ahogy olvastam a linkjeidet. Asszem ezen a vonalon indulok el. Meglátjuk meddig jutok segítség nélkül.

supesz


Lortech
(addikt)

Nem a javascript és vbscript ugyanaz, sose állítottam ilyet, nem is utaltam rá.
Jscript és ecmascript/ javascriptre írtam. (mivel abban, amire reagáltam, te is ezt vetetted össze)

[ Szerkesztve ]


supesz
(aktív tag)
Blog

Na mindegy.
Azt tudom (gondolom), hogy te értesz hozzá, azt is tudom, hogy én nem.
Szóval neked van igazad. A lényeg a lényeg. Most a VBScripttel ismekedem, mert az szimpi.
A kódot, amit linkelttél, letöltöttem és tetszett. Az VBScript volt.
Mennél többet foglalkozom vele, annál inkább képbe fogok kerülni.
Késöbb még referálunk a témáról és akkor esetleg felteszek pár kérdést, ami nem volt világos. :U


supesz
(aktív tag)
Blog

Hát én ezt nem nagyon értem. Olyan helyre keveredtem, ahol aztán azt sem értem, amit kérdeznek. MSDN Tudnál nekem segíteni? Legalább elindulni.

[ Szerkesztve ]


Lortech
(addikt)

A már linkelt tutoroknál jobban nem tudok segíteni, esetleg másik tutorialokkal. Google segít.
Szerintem ne úgy állj neki, hogy na most akkor megtanulsz programozni, mert ha nem tudsz, akkor nem fog menni csak úgy. Inkább koncentrálj a megoldandó problémára, beírod keresőbe, vagy leírod itt konkrétan, megpróbálsz találni valami megoldást rá, keresel/találsz példakódokat, tanulmányozod őket, átalakítod őket neked megfelelőre stb.


supesz
(aktív tag)
Blog

Hát az a helyzet, hogy tudnom kellene, csak sosem foglalkoztam vele. A struktúrált programozást legalábbis szerintem értem. Sajnos az objektum szemlélettel gondom van. Nem tudom merre induljak el. A te példádból nem tudok kiindulni, mert rögtön annyi kérdésem van hogy csak na. Nem tudom, mit miért csináltál benne és vanak ott érdekes kifejezések is.
Sajnos már az első akadálynál elbuktam, mert fogalmam sincs hogyan kérjem le az aktuális dátumot (???), de sok dologról nincs fogalmam még ezen felül.

[ Szerkesztve ]


Lortech
(addikt)

Próbáld ki: Wscript.Echo now
A now egy függvény, visszaadja az aktuális dátumot és időt.
Ott van benne pedig a példámban.
Lesd meg ezt:
[link]
meg úgy általában is érdemes lapozgatni az msdn-t, mert ott van benne minden.

Alap vbscript szintaktikát meg lehet tanulni pár egyszerű példából vagy a kismillió neten lévő példából, ha ez megvan, akkor lehet a függvénykönyvtárral ismerkedni vagy a problémának megfelelően célirányosan példákat keresni, hogy hogyan csinálják a tapasztaltabbak, pl: [link]

[ Szerkesztve ]


yanna
(őstag)

Sziasztok!
Egy kis segítség kellene, nektek biztos nem gond.
Azt hogyan lehet megoldani prancsfájllal, hogy végignézze a merevlemezeket, hogy létezik-e egy adott fájl?
Köszi


Csontikka
(aktív tag)

Szia!

Olyan van, hogy IF EXIST parancs, ezen el lehet indulni. (remélem)

[link]

Üdv
Csontikka


Lasker
(csendes tag)

Nos, az é-betűs megoldásra vannak alternatívabb módszerek, pl. rövidítések tildével (

C:\Docume~1\nagy~1\*.*

), vagy shell-változók használata alapértelmezett értékekkel, hogy ne nagy péter nevezetű felhasználóra legyen csak bedrótozva a szkripted.

[ Szerkesztve ]


Lasker
(csendes tag)

Ki tud rövidebb és/vagy minél kevesebb külső programot használó batchfájlt írni, mely eltávolítja az első paraméterben megadott szövegfájl sorainak elejéről a fehér szóközöket, majd az üres sorokat, és kiírja az eredményt a második paraméterben megadott fájlba? Hasonló, mint:

cat "$1" | sed -e 's/^[\t ]*//;/^$/d' >$2

Nem pistikehöföje, csupán kíváncsi vagyok a közösségre, ki mit tud.

üzenetek