Autor Zpráva
janbarasek
Profil
Ahoj,
ve škole jsme probírali dávkové soubory a mě z nich trochu začalo hrabat (příšerná syntaxe), takže jsem udělal něco jako validátor, co dokáže základní principy těchto souborů zkontrolovat a najít většinu základních chyb. Nečekejte od toho nic světoborného, je to jen jednoduchá kontrola, zejména proti "prasárnám", umí to i opravit a upozornit na časté chyby + navrhnout opravu.

Pokud je vše OK, tak validátor píše, co se stane (nebo co očekává, že se stane) po spuštění dané řádky.

Validátor je volně dostupný na adrese: http://bath.baraja.cz
Připravil jsem si pro vás ukázku testovacího souboru: http://bath.baraja.cz/index.php?q=bd73afec007a9fc759d4abe772e880f2, je to typicky špatně napsaný dávkový soubor, obsahuje několik zbytečností, validátor na to upozornil ;)

Váš script můžete trvale uložit a překopírovat si odkaz, možná to ale ještě promažu, pokud tam toho bude hodně. Pokud to není nutné, tak kód ukládat nemusíte a zůstane jen v mezipaměti serveru po dobu 60 sekund (vy ale výsledky uvidíte až do zavření stránky).

Budu rád za tipy na zlepšení a předem se omlouvám za případné nalezené chyby nebo nepřesnosti. Optimalizoval jsem to na školním počítači s Windows 7, doma mám Linux, takže nebylo moc časů na testy, na skutečném CMD. Budu tedy rád, když se najde někdo, kdo by byl ochoten, pomoci mi s testováním. Určitě tento projekt najde uplatnění při učení a základní kontrole dávek, protože jsem žádnou podobnou aplikaci nikde na webu neviděl (a to jsem hledal pořádně).

Validitu jsem moc neřešil, jde o hrubý nástřel, hlavně že to funguje ve všech prohlížečích jak má. ;)
juriad
Profil
Catalina.bat to zvladne. Ten je nejdelší, co mám po ruce.

Na**anost ohledně baťáků chápu; kdo jednou ochutnal shell...
Další meta: validátor shellu? ;-)

Poznámky:
Varování o prázdných řádcích bych vyhodil; nejspíš bych jen nevýrazně napsal poznámku, že se přeskočí.
To samé se týká chyby: „Předchozí řádek je také prázdný. Zbytečně to snižuje čitelnost kódu. V scriptech by se nemělo objevovat více prázdných řádků!“
Pobavilo mě: „Tento příkaz je úplně stejný jako předchozí. Není to zbytečné? Uvažujte o použití cyklů.“ v případě dvou řádků rem.
Tori
Profil
- „Předchozí řádek je také prázdný. Zbytečně to snižuje čitelnost kódu. V scriptech by se nemělo objevovat více prázdných řádků!“ - Podle jakého pravidla? A více než kolik?
- „TECHNICKÉ INFO: Celkem bylo zvalidováno 4 souborů!“ - Koho kromě vás zajímá xtá variace na počítadlo návštěvnosti?
- „Na obrazovku vypíše tento text: "SPOILER!!! Je to %zbytek%".“ - Nevím, co se stane, pokud proměnná není definovaná. Ale pokud je, tak by to nemělo vypsat její název, ne?

Trochu nejasná koncepce - je to validátor, nebo vysvětlovač? Nedalo by se ve výchozím nastavení jen validovat (= zobrazovat jen upozornění a chyby) a podrobná vysvětlení jen na vyžádání (zaškrtnutí něčeho apod.)?
janbarasek
Profil
juriad:
Další meta: validátor shellu? ;-)
Možná, ještě se na něj netroufám. Moc komplikovaný.

Varování o prázdných řádcích bych vyhodil; nejspíš bych jen nevýrazně napsal poznámku, že se přeskočí.
To samé se týká chyby: „Předchozí řádek je také prázdný. Zbytečně to snižuje čitelnost kódu. V scriptech by se nemělo objevovat více prázdných řádků!“
Možná to úplně přeskočit a nezobrazovat... a zobrazovat jen řádky, kde je něco, co se bude spouštět (takže vyhodit i poznámky a tak dále).

Tori:
Podle jakého pravidla? A více než kolik?
Tak třeba 500 prázdných řádků je jistě dost k ničemu. Spíše bych čekal radu, jak toto řešit. Možná to budu úplně přeskakovat, ještě si počkám na další nápady.

Koho kromě vás zajímá xtá variace na počítadlo návštěvnosti?
Původně jsem to tam nechtěl dávat, ale na druhou stranu jsem potřeboval zaplácnout místo. Navíc to není návštěvnost, ale informace o počtu souborů, to je něco jiného.

je to validátor, nebo vysvětlovač?
Vysvětlovač, co ukazuje chyby. Zelené hlášky jsou vysvětlení, všechno ostatní většinou připomínka. Zkusím tam nějak zapracovat možnost výběru toho, co se má při kontrole ukazovat.
Tori
Profil
Ještě jeden dotaz: proč se subdoména jmenuje bath místo batch?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: